AnyPS5/core/shader/recompiler
devilismyfriend 87911b3bb5 fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys
- s_*_saveexec reads its source before writing the old EXEC into the
  destination, so the aliased form (vcc, vcc) computes exec & vcc; the
  per-lane exec bit comes from the lane's own bit. Every Bink 2 decoder
  kernel uses that form; this was the video corruption.
- buffer atomics add/sub/or/xor with a zero operand become an atomic
  load or nothing.
- DescriptorBinding carries bufferWritten/bufferAtomic/imageWritten;
  results expose a variantId and share SPIR-V copy-on-write; source
  keys use a length plus 64-bit hash; captures can be reused.
- wave-LDS ordering barriers, v_movrels/v_movreld lowering, SMEM with a
  VCC base, f16 conversion opcode fix, a per-function SPIRV-Tools pass
  list, env-gated IR dumps and probes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-25 16:27:49 -07:00
..
ControlFlow feat(shader): implement enable cache field in recompile request 2026-09-24 20:59:34 +03:00
IntermediateRepresentation fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
Optimization fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
RdnaDecoder fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
SpirvBackend fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
Translation fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
tests feat(shader): add test shaders return + graphic pipeline logs 2026-09-18 20:38:26 +03:00
BdaAbi.hpp fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
CMakeLists.txt perf(shader): make -ools validation and optimization optional 2026-09-23 21:48:51 +03:00
CacheKey.hpp fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
Deserialize.cpp fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
Recompiler.cpp fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
Recompiler.hpp fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00