From 44b1ab7ef2a87011eabb2e0221ba13ae14ec6066 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 9 Nov 2020 14:12:13 +0000 Subject: [PATCH] Fix patching of indirect draws not storing indexed baseVertex correctly --- renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index 7405d57a2..a3821fd30 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -490,7 +490,7 @@ bool WrappedVulkan::PatchIndirectDraw(size_t drawIndex, uint32_t paramStride, draw.numIndices = arg->indexCount; draw.numInstances = arg->instanceCount; - draw.vertexOffset = arg->vertexOffset; + draw.baseVertex = arg->vertexOffset; draw.indexOffset = arg->firstIndex; draw.instanceOffset = arg->firstInstance; @@ -535,7 +535,7 @@ bool WrappedVulkan::PatchIndirectDraw(size_t drawIndex, uint32_t paramStride, if(SDObject *sub = command->FindChild("firstVertex")) sub->data.basic.u = draw.vertexOffset; if(SDObject *sub = command->FindChild("vertexOffset")) - sub->data.basic.u = draw.vertexOffset; + sub->data.basic.u = draw.baseVertex; if(SDObject *sub = command->FindChild("firstIndex")) sub->data.basic.u = draw.indexOffset; if(SDObject *sub = command->FindChild("firstInstance"))