mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 09:30:44 +00:00
Check that vkCmdFillBuffer usage is properly populated in VK_Indirect
This commit is contained in:
@@ -32,6 +32,18 @@ class VK_Indirect(rdtest.TestCase):
|
||||
|
||||
self.overlay_idx = 1
|
||||
|
||||
fill = self.find_draw("vkCmdFillBuffer")
|
||||
|
||||
self.check(fill is not None)
|
||||
|
||||
buffer_usage = {}
|
||||
|
||||
for usage in self.controller.GetUsage(fill.copyDestination):
|
||||
usage: rd.EventUsage
|
||||
if usage.eventId not in buffer_usage:
|
||||
buffer_usage[usage.eventId] = []
|
||||
buffer_usage[usage.eventId].append(usage.usage)
|
||||
|
||||
for level in ["Primary", "Secondary"]:
|
||||
rdtest.log.print("Checking {} indirect calls".format(level))
|
||||
|
||||
@@ -125,6 +137,8 @@ class VK_Indirect(rdtest.TestCase):
|
||||
|
||||
self.controller.SetFrameEvent(draw.eventId, False)
|
||||
|
||||
self.check(rd.ResourceUsage.Indirect in buffer_usage[draw.eventId])
|
||||
|
||||
# Check that we have PostVS as expected
|
||||
postvs_data = self.get_postvs(rd.MeshDataStage.VSOut)
|
||||
|
||||
@@ -141,6 +155,8 @@ class VK_Indirect(rdtest.TestCase):
|
||||
|
||||
rdtest.log.success("{} {} is as expected".format(level, draw.name))
|
||||
|
||||
self.check(rd.ResourceUsage.Indirect in buffer_usage[indirects.children[1].eventId])
|
||||
|
||||
# vkCmdDrawIndexedIndirect[0](...)
|
||||
draw = indirects.children[1].children[0]
|
||||
self.check(draw.numIndices == 3)
|
||||
@@ -219,6 +235,8 @@ class VK_Indirect(rdtest.TestCase):
|
||||
# vkCmdDrawIndirectCountKHR
|
||||
draw_indirect = indirect_count_root.children[1].children[0]
|
||||
|
||||
self.check(rd.ResourceUsage.Indirect in buffer_usage[draw_indirect.eventId])
|
||||
|
||||
self.check(draw_indirect and len(draw_indirect.children) == 1)
|
||||
|
||||
# vkCmdDrawIndirectCountKHR[0]
|
||||
|
||||
Reference in New Issue
Block a user