diff --git a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp index e84c87b38..982972ade 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp @@ -3001,7 +3001,8 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirectCount(SerialiserType &ser, AddAction(action); VulkanActionTreeNode &actionNode = GetActionStack().back()->children.back(); - actionNode.action.flags = flags; + if(maxDrawCount > 0) + actionNode.action.flags = flags; actionNode.indirectPatch = indirectPatch; @@ -3358,7 +3359,8 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirectCount( AddAction(action); VulkanActionTreeNode &actionNode = GetActionStack().back()->children.back(); - actionNode.action.flags = flags; + if(maxDrawCount > 0) + actionNode.action.flags = flags; actionNode.indirectPatch = indirectPatch; diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index c5491dd77..93ece219e 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -751,7 +751,8 @@ void WrappedVulkan::InsertActionsAndRefreshIDs(BakedCmdBufferInfo &cmdBufInfo) // everything afterwards is adjusted. Now see if we need to remove the subdraw or clone it if(indirectCount == 0) { - // Copy the resource usage from the subdraw to the indirect action (push marker) + // Copy the flags and resource usage from the subdraw to the indirect action (push marker) + n.action.flags |= cmdBufNodes[i + 1].action.flags; n.resourceUsage.swap(cmdBufNodes[i + 1].resourceUsage); for(rdcpair &use : n.resourceUsage) use.second.eventId += eidShift;