A program that uses relative VGPR addressing placed every register from the lowest relatively addressed one upward in the window array, so even direct accesses became array loads and stores. A descriptor spilled with v_writelane and restored with v_readlane then lost its definition, and resource analysis refused GetSamplerResource with ReadLane(LoadVectorWindow(Immediate)) (GTA V, PPSA04264, shader 0x25a889400). When the program has no indexed writes (v_movreld, v_movrelsd, v_swaprel), direct accesses stay SSA registers and each direct write is mirrored into the window for the relative reads. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V1W4jdNSKTV7xwuS6xQPJV |
||
|---|---|---|
| .. | ||
| IrMetadata | ||
| GuestRegister.hpp | ||
| IrBlock.hpp | ||
| IrBuilder.hpp | ||
| IrBuilderInternal.hpp | ||
| IrMetadata.hpp | ||
| IrOpcode.hpp | ||
| IrProgram.hpp | ||
| IrType.hpp | ||
| IrValue.hpp | ||