nVidia Vk driver bug workaround for series 10 cards

Series 10 cards do not support Mesh Shaders, according to Vulkan spec it should be valid to bind NULL shader objects to mesh stage even if the feature is not supported.
This commit is contained in:
Jake Turner
2024-07-11 07:04:11 +01:00
parent e1e35bf5ac
commit 8986329d1e
+4
View File
@@ -415,6 +415,10 @@ void VulkanRenderState::BindShaderObjects(WrappedVulkan *vk, VkCommandBuffer cmd
if(i == (uint32_t)ShaderStage::Compute)
continue;
// Workaround for driver bug found in NVIDIA 10 series cards
if(i == (uint32_t)ShaderStage::Mesh && !vk->MeshShaders())
continue;
const VkShaderStageFlagBits stage = (VkShaderStageFlagBits)(1 << (uint32_t)i);
const VkShaderEXT shader =
Unwrap(vk->GetResourceManager()->GetCurrentHandle<VkShaderEXT>(shaderObjects[i]));