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++) {