Commit Graph

27 Commits

Author SHA1 Message Date
SamG-Coder 8cef034172 fix(shader): safely destroy compiler thread-local storage on Windows 2026-09-28 19:54:01 +10:00
devilismyfriend 29b4601564 perf(agc): dispatch and draw recipes, data-only cache hits, unit shadows, bindless image tables
Dispatch cache with per-key value variants and data-only hits (flat-SRT leaves the recompiler
proves pure are refreshed into the resource template instead of re-captured), dispatch and draw
recipes replaying a proven prepare, register-keyed draw entries, template data refresh, unit
shadows in device-local slabs, 64 KiB block-unit storage tracking with windowed detile, DCC
clear-key proofs, per-class GPU timing, a CPU copy path with batch read tracking, present slot
ring, rate-limited reaps and lazy completion counting, plan-failure and poisoned source memos,
bindless image tables (runtime-indexed descriptor arrays from a CPU-read table) so the
per-frame compute program that failed its plan now compiles. Worker affinity opt-in, per-draw
logs behind APS5_TRACE_DRAWS, wait-timeout reports include the recorder's view of the label.
Fixes a use-after-free behind BDA-miss dispatch snapshots and the CPU-write stamp of
UnchangedSinceCollected. Intro-video stage: 154 -> ~500 presents per 10 s at 4K.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-26 19:00:40 -07:00
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
boykopovar bf43995e8e feat(shader): implement enable cache field in recompile request 2026-09-24 20:59:34 +03:00
boykopovar e98d2163f4 refactor(log): remove extra logs + refactor timing logging 2026-09-24 20:35:59 +03:00
boykopovar 10e4d5e469 perf(shader): make -ools validation and optimization optional 2026-09-23 21:48:51 +03:00
boykopovar 65c6214a68 fix(agc): validate rect-list addressing model + logs refactor 2026-09-23 21:26:21 +03:00
boykopovar 069ee78158 feat(shader): generate tessellation shaders for rect-list primitives 2026-09-23 16:13:33 +03:00
boykopovar bb27de6fac feat(shader): add fragmentShaderBarycentricEnabled flag to recompiler 2026-09-22 21:35:45 +03:00
boykopovar f7aaa2fb86 feat(agc): add DRAW_INDEX_AUTO handling impl 2026-09-22 20:07:09 +03:00
boykopovar 5e3a13041c feat(agc): implement vertex attribute input and buffer binding 2026-09-22 11:34:54 +03:00
boykopovar 1da8521ffc feat(shader): add spirv validation and opt via spirv-tools 2026-09-22 10:43:54 +03:00
boykopovar 798e38f47e fix(shader): fix recompile request memory snapshot and descriptors 2026-09-22 10:19:48 +03:00
boykopovar eccabe52ec feat(shader): add EmitNative impl + EmitGlsl for recompiler 2026-09-22 09:10:10 +03:00
boykopovar f38c6cd7af feat(shader): implement checked BDA reads and GPU fault reporting 2026-09-21 19:26:09 +03:00
boykopovar fbb8a36f65 feat(shader): add bda cache page bits field to spirv target 2026-09-21 14:33:19 +03:00
boykopovar cc0d0b776c feat(shader): add recompiler resource materialization and binding pipeline 2026-09-21 13:16:32 +03:00
boykopovar d1dd4590fa feat(shader): spirv image emitter functions impl (wip) 2026-09-19 07:33:30 +03:00
boykopovar 3da76b9b33 refactor(graphics): add new graphics pipeline log + remove redunant ones 2026-09-18 21:03:11 +03:00
boykopovar 8be7c9d191 feat(shader): add test shaders return + graphic pipeline logs 2026-09-18 20:38:26 +03:00
boykopovar b970ff0ae7 fix(shader): provide translate input info to shader info collector 2026-09-18 15:49:21 +03:00
boykopovar 97a97ab2e1 feat(shader): use embedded vertex fetch analyzer in recompiler 2026-09-18 14:52:45 +03:00
boykopovar 58b9e60d23 feat(shader): add recompile request serialization on fail 2026-09-18 14:37:08 +03:00
boykopovar 95df53181c fix(shader): buffer resource dword 0 detailed exception in tracker 2026-09-18 12:52:03 +03:00
boykopovar 38fdbc2a55 feat(shader): constants folding + dead code eliminating 2026-09-17 12:45:10 +03:00
boykopovar 50226e4260 feat(shader): impl agc-side register decode and translator input wiring 2026-09-17 11:02:58 +03:00
boykopovar d084eed394 feat(shader): rdna memory op decoder impl 2026-09-15 07:07:50 +03:00
Renamed from core/shader/recompilier/Recompiler.cpp (Browse further)