D934 - An image descriptor loaded through a buffer is read where the buffer holds it

Status: decided Date: 2026-10-20

A pixel shader's image descriptor can come from three places, and the translator traces each one along the paths that reach the sample.

A texture's sampler is the table load that reached its registers at the texture's first access, where one did. The program may load another sampler into the same registers elsewhere.

Why: Grand Theft Auto V's loading-screen lighting reads its point lights' shadow cubes in three ways: out of a constant buffer whose descriptor is at table + 0xf0, 0x150 into it; from user data 8, on a path that branches past the block that reloads those registers; and with a sampler loaded on one path of two. Each was refused as a descriptor loaded from more than one place, or bound to a texture it is not.

Rejected: