mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-06 13:30:00 +00:00
image_sample_*_o takes its texel offset from an address VGPR. The emitter accepted only an immediate there and failed with "requires a constant texel offset for image sampling" for any other, including an offset the program moves into the VGPR under EXEC. An offset that resolves to a constant at its packed address position stays a ConstOffset. Any other becomes the Offset image operand, which Vulkan allows on sampling instructions only with VK_KHR_maintenance8's maintenance8 feature and the ImageGatherExtended capability. The device enables maintenance8 when available and reports it through SpirvTarget::nonConstantImageOffsets, which the cache key, the request serialization (version 6) and the SPIRV-Tools validator options follow. Without it the sample still fails. agc_shader_replay --maintenance8 recompiles a request for such a device.