What changed for AMD:
- The recorder thread is off by default on AMD GPUs. Three of you confirmed that
vk_recorder = 0stops the crash on RDNA 3/4. Costs about 1.7 ms of CPU per frame;vk_recorder = 1turns it back on. - Graphics pipeline libraries are off by default on AMD's RDNA 1/2 driver (RX 5000/6000, driver info "AMD proprietary shader compiler"). RADV needed the same change in SavageWindRecomp#228.
- Textures are created cube-compatible only when the game makes a cube texture. Before, every square texture with 6+ layers got the flag, including the 1024x1024x121 array loaded at boot; this is our main suspect for the RDNA 1/2 crash and the green/white textures.
- Compare-sampled R32F/R16 textures in compute passes are read through a depth copy. Sampling a colour format with depth compare is undefined in Vulkan and may cause black lighting or shadows on some drivers (#67, #90).
- One
vkDeviceWaitIdlein the FSR path ran without the queue lock; fixed. - On a lost device the log now ends with GPU breadcrumbs (
vk: GPU breadcrumbs: the GPU last reached ...) and theVK_EXT_device_faultreport when the driver supports it.
Full Changelog: v0.1.1...v0.1.6