Skip to content

Commit 2fa1246

Browse files
author
JoshJRive
committed
fix(vulkan): Resolve driver crash on some mobile GPUs (#12403) 1deebb93aa
The tiled gms exposed a driver crash on some specific older mobile devices, which was due to the (valid) way we were binding samplers. In order to work around this issue, in Vulkan the tesselate, atlas, grad, and image textures are now bound as COMBINED_IMAGE_SAMPLER so that the "immutable sampler" descriptor set goes away, as well as IMAGE_SAMPLER_IDX since now on (almost) all backends they're the same index (like with the other textures). WebGPU, unfortunately, does not support combining samplers and textures into the same binding within a binding set, so it still uses separate indices for them (and a separate binding set for the immutable shaders like Vulkan used to), so it required some special-casing in the shaders (and adding some webgpu-specific shader compilations). This also removes SAMPLER_MIPMAP which was unused, and renames TARGET_VULKAN to TARGET_SPIRV since that's a more-accurate name
1 parent 4c735da commit 2fa1246

2 files changed

Lines changed: 2 additions & 2 deletions