From 1ca3f2672609a7492004e0a6bf621dcb582648fd Mon Sep 17 00:00:00 2001 From: Jasmine Hansen Date: Thu, 13 Jun 2024 14:31:53 -0700 Subject: [PATCH] Fix replaying shader object dynamic vertex binds --- renderdoc/driver/vulkan/vk_state.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_state.cpp b/renderdoc/driver/vulkan/vk_state.cpp index 21fc34b12..0b74b47f7 100644 --- a/renderdoc/driver/vulkan/vk_state.cpp +++ b/renderdoc/driver/vulkan/vk_state.cpp @@ -669,14 +669,15 @@ void VulkanRenderState::BindDynamicState(WrappedVulkan *vk, VkCommandBuffer cmd) ibuffer.offs, type); } - if(vk->DynamicVertexInput() && dynamicStates[VkDynamicVertexInputEXT]) + if((vk->DynamicVertexInput() || vk->ShaderObject()) && dynamicStates[VkDynamicVertexInputEXT]) { ObjDisp(cmd)->CmdSetVertexInputEXT(Unwrap(cmd), (uint32_t)vertexBindings.size(), vertexBindings.data(), (uint32_t)vertexAttributes.size(), vertexAttributes.data()); } - bool dynamicStride = dynamicStates[VkDynamicVertexInputBindingStride] && vk->ExtendedDynamicState(); + bool dynamicStride = dynamicStates[VkDynamicVertexInputBindingStride] && + (vk->ExtendedDynamicState() || vk->ShaderObject()); for(size_t i = 0; i < vbuffers.size(); i++) {