AnyPS5/core/shader/recompiler/Optimization/src
Celegans12 56f8a62428 feat(agc): implement deferred faults for reads through null SRT pointers
Capturing a shader threw "null or misaligned address" when the flat
SRT walk read through a pointer loaded from memory that is null or
unmapped, even when the program skips that s_load. Such a read now
yields zero and a record with its pc and address, as does a slot whose
address needs it. The registered artifact checks one flag word per
guarded slot at each ReadConst; the capture appends the flags and the
records to the flattened SRT, and a set flag raises an Unmapped BDA
fault through the fault buffer and stops the invocation as a BDA read
does. Nothing per capture enters a key: poisoned and clean captures
share one variant and specialization. Descriptors, branch conditions,
uniform fills, table bases and user-data pointers that need such a
value still throw, and poisoned results stay out of the dispatch and
draw caches. The shader disk cache format becomes 21.
2026-10-09 00:20:59 +02:00
..
SrtWalker feat(agc): implement deferred faults for reads through null SRT pointers 2026-10-09 00:20:59 +02:00
SsaBuilder chore(shader): plan builder return for void + ssa pass init value 2026-09-22 10:00:42 +03:00
BindingAllocator.cpp feat(agc): implement deferred faults for reads through null SRT pointers 2026-10-09 00:20:59 +02:00
ConstantFolder.cpp fix(shader): lower only exact sample id and layer field extracts of the packed pixel ancillary 2026-10-05 17:18:02 +02:00
DeadCodeEliminator.cpp feat(shader): constants folding + dead code eliminating 2026-09-17 12:45:10 +03:00
DescriptorBindingBuilder.cpp fix(shader): preserve main buffer alignment and image formats in prepared shaders 2026-10-08 17:51:05 +03:00
MaskedSelectEliminator.cpp perf(recompiler): let exec-guarded memory and exports end a masked select 2026-10-05 18:12:23 +13:00
ReadLaneEliminator.cpp fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys 2026-09-25 16:27:49 -07:00
RequestMemoryView.cpp feat(agc): implement deferred faults for reads through null SRT pointers 2026-10-09 00:20:59 +02:00
ResourceMaterializer.cpp feat(agc): implement deferred faults for reads through null SRT pointers 2026-10-09 00:20:59 +02:00
ResourceTracker.cpp fix(shader): follow measured hardware for MIMG BY2/BY4 loads 2026-10-08 21:28:22 +02:00
ShaderInfoCollector.cpp feat(shader): implement v_interp_p1ll_f16, v_interp_p1lv_f16 and v_interp_p2_f16 2026-10-08 23:36:04 +02:00
SharedMemoryBarrierInserter.cpp feat(shader): rdna memory op decoder impl 2026-09-15 07:07:50 +03:00