mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
An S# with FORCE_UNNORMALIZED threw in DecodeSamplerResource. It is now bound through a Vulkan sampler with unnormalizedCoordinates when every use stays where the S# and the host select the same texels. ShaderInfoCollector records the live uses of each sampler after Apply and dead-code elimination, and the emitter shares its explicit-LOD predicate. Populate flags a direct S# with the bit that only explicit-LOD image_sample without offset, comparison, derivatives or _a uses, paired only with direct 1D or 2D images without a format conversion; anything else throws. The driver checks the S# filters, clamps, TRUNC_COORD and MC_COORD_TRUNC, creates the sampler with nearest mips and a zero LOD range, and requires a single-level, single-layer 1D or 2D view of mip 0. The shader disk cache format becomes 5.