Add correct action flags to zero sized Vk indrect draw count

Fixes overlay Clear Before Draw/Pass, Overdraw (Pass) Triangle Size (Pass) not rendering on zero sized indirect draw count
This commit is contained in:
Jake Turner committed 2026-06-04 11:41:23 +01:00
1 parent 44deaebd90
commit e665bc0a12
2 files changed
+6 -3

No files matched your search

@@ -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;
@@ -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<ResourceId, EventUsage> &use : n.resourceUsage)
use.second.eventId += eidShift;