Extend VK_Resource_Usage : execute an empty secondary command buffer

This commit is contained in:
Jake Turner committed 2026-07-16 12:13:37 +01:00
1 parent 29959d8993
commit 97a11ae6a9
2 files changed
+206 -197

No files matched your search

+11 -2
View File
@@ -830,7 +830,7 @@ RD_TEST(VK_Resource_Usage, VulkanGraphicsTest)
{vkh::BufferMemoryBarrier(VK_ACCESS_NONE, VK_ACCESS_NONE, barrier2Buffer.buffer)});
vkEndCommandBuffer(barrierSecCmd);
VkCommandBuffer secCmdBuffers[2];
VkCommandBuffer secCmdBuffers[3];
for(size_t i = 0; i < 2; i++)
{
VkCommandBuffer secCmd = GetCommandBuffer(VK_COMMAND_BUFFER_LEVEL_SECONDARY);
@@ -862,6 +862,15 @@ RD_TEST(VK_Resource_Usage, VulkanGraphicsTest)
vkEndCommandBuffer(secCmd);
secCmdBuffers[i] = secCmd;
}
{
VkCommandBuffer emptySecCmd = GetCommandBuffer(VK_COMMAND_BUFFER_LEVEL_SECONDARY);
vkBeginCommandBuffer(emptySecCmd, vkh::CommandBufferBeginInfo(
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT |
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT,
vkh::CommandBufferInheritanceInfo(renderPass, 0)));
vkEndCommandBuffer(emptySecCmd);
secCmdBuffers[2] = emptySecCmd;
}
VkCommandBuffer nestedCmd = GetCommandBuffer(VK_COMMAND_BUFFER_LEVEL_SECONDARY);
if(nestedSecondaries)
@@ -1043,7 +1052,7 @@ RD_TEST(VK_Resource_Usage, VulkanGraphicsTest)
vkCmdBeginRenderPass(
cmd, vkh::RenderPassBeginInfo(mainWindow->rp, mainWindow->GetFB(), mainWindow->scissor),
VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS);
vkCmdExecuteCommands(cmd, 2, secCmdBuffers);
vkCmdExecuteCommands(cmd, 3, secCmdBuffers);
vkCmdEndRenderPass(cmd);
}
popMarker(cmd);
+195 -195
View File
@@ -79,64 +79,64 @@ class VK_Resource_Usage(rdtest.TestCase):
(62,rd.ResourceUsage.ColorTarget),
(73,rd.ResourceUsage.ColorTarget),
(76,rd.ResourceUsage.ColorTarget),
(118,rd.ResourceUsage.ColorTarget),
(122,rd.ResourceUsage.ColorTarget),
(126,rd.ResourceUsage.ColorTarget),
(127,rd.ResourceUsage.ColorTarget),
(120,rd.ResourceUsage.ColorTarget),
(124,rd.ResourceUsage.ColorTarget),
(128,rd.ResourceUsage.ColorTarget),
(129,rd.ResourceUsage.ColorTarget),
(134,rd.ResourceUsage.ColorTarget),
(135,rd.ResourceUsage.ColorTarget),
(130,rd.ResourceUsage.ColorTarget),
(131,rd.ResourceUsage.ColorTarget),
(136,rd.ResourceUsage.ColorTarget),
(140,rd.ResourceUsage.ColorTarget),
(175,rd.ResourceUsage.ColorTarget),
(179,rd.ResourceUsage.ColorTarget),
(180,rd.ResourceUsage.ColorTarget),
(137,rd.ResourceUsage.ColorTarget),
(138,rd.ResourceUsage.ColorTarget),
(142,rd.ResourceUsage.ColorTarget),
(177,rd.ResourceUsage.ColorTarget),
(181,rd.ResourceUsage.ColorTarget),
(182,rd.ResourceUsage.ColorTarget),
(187,rd.ResourceUsage.ColorTarget),
(188,rd.ResourceUsage.ColorTarget),
(183,rd.ResourceUsage.ColorTarget),
(184,rd.ResourceUsage.ColorTarget),
(189,rd.ResourceUsage.ColorTarget),
(206,rd.ResourceUsage.ColorTarget),
(210,rd.ResourceUsage.ColorTarget),
(211,rd.ResourceUsage.ColorTarget),
(190,rd.ResourceUsage.ColorTarget),
(191,rd.ResourceUsage.ColorTarget),
(208,rd.ResourceUsage.ColorTarget),
(212,rd.ResourceUsage.ColorTarget),
(213,rd.ResourceUsage.ColorTarget),
(218,rd.ResourceUsage.ColorTarget),
(219,rd.ResourceUsage.ColorTarget),
(214,rd.ResourceUsage.ColorTarget),
(215,rd.ResourceUsage.ColorTarget),
(220,rd.ResourceUsage.ColorTarget),
(225,rd.ResourceUsage.ColorTarget)]
(221,rd.ResourceUsage.ColorTarget),
(222,rd.ResourceUsage.ColorTarget),
(227,rd.ResourceUsage.ColorTarget)]
if drawIndirectCount:
expectedUsage += [
(230,rd.ResourceUsage.ColorTarget),
(233,rd.ResourceUsage.ColorTarget),
(237,rd.ResourceUsage.ColorTarget),
(241,rd.ResourceUsage.ColorTarget),
(246,rd.ResourceUsage.ColorTarget),
(247,rd.ResourceUsage.ColorTarget),
(232,rd.ResourceUsage.ColorTarget),
(235,rd.ResourceUsage.ColorTarget),
(239,rd.ResourceUsage.ColorTarget),
(243,rd.ResourceUsage.ColorTarget),
(248,rd.ResourceUsage.ColorTarget),
(253,rd.ResourceUsage.ColorTarget),
(254,rd.ResourceUsage.ColorTarget)]
(249,rd.ResourceUsage.ColorTarget),
(250,rd.ResourceUsage.ColorTarget),
(255,rd.ResourceUsage.ColorTarget),
(256,rd.ResourceUsage.ColorTarget)]
if nestedSecondaries:
expectedUsage += [
(249+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.ColorTarget),
(252+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.ColorTarget)]
(251+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.ColorTarget),
(254+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.ColorTarget)]
if descBuffer:
expectedUsage += [
(254+countDrawIndirectCount+countNested,rd.ResourceUsage.ColorTarget),
(257+countDrawIndirectCount+countNested,rd.ResourceUsage.ColorTarget)]
(256+countDrawIndirectCount+countNested,rd.ResourceUsage.ColorTarget),
(259+countDrawIndirectCount+countNested,rd.ResourceUsage.ColorTarget)]
if meshShader:
expectedUsage += [
(239+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(243+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(244+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(247+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(250+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(254+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(258+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(262+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget)]
(241+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(245+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(246+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(249+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(252+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(256+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(260+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget),
(264+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.ColorTarget)]
expectedUsage += [(233+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier)]
expectedUsage += [(235+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier)]
else:
expectedUsage = []
elif res.type == rd.ResourceType.RenderPass:
@@ -163,189 +163,189 @@ class VK_Resource_Usage(rdtest.TestCase):
(62,rd.ResourceUsage.VertexBuffer),
(73,rd.ResourceUsage.VertexBuffer),
(76,rd.ResourceUsage.VertexBuffer),
(118,rd.ResourceUsage.VertexBuffer),
(122,rd.ResourceUsage.VertexBuffer),
(126,rd.ResourceUsage.VertexBuffer),
(127,rd.ResourceUsage.VertexBuffer),
(120,rd.ResourceUsage.VertexBuffer),
(124,rd.ResourceUsage.VertexBuffer),
(128,rd.ResourceUsage.VertexBuffer),
(129,rd.ResourceUsage.VertexBuffer),
(134,rd.ResourceUsage.VertexBuffer),
(135,rd.ResourceUsage.VertexBuffer),
(130,rd.ResourceUsage.VertexBuffer),
(131,rd.ResourceUsage.VertexBuffer),
(136,rd.ResourceUsage.VertexBuffer),
(140,rd.ResourceUsage.VertexBuffer),
(175,rd.ResourceUsage.VertexBuffer),
(179,rd.ResourceUsage.VertexBuffer),
(180,rd.ResourceUsage.VertexBuffer),
(137,rd.ResourceUsage.VertexBuffer),
(138,rd.ResourceUsage.VertexBuffer),
(142,rd.ResourceUsage.VertexBuffer),
(177,rd.ResourceUsage.VertexBuffer),
(181,rd.ResourceUsage.VertexBuffer),
(182,rd.ResourceUsage.VertexBuffer),
(187,rd.ResourceUsage.VertexBuffer),
(188,rd.ResourceUsage.VertexBuffer),
(183,rd.ResourceUsage.VertexBuffer),
(184,rd.ResourceUsage.VertexBuffer),
(189,rd.ResourceUsage.VertexBuffer),
(206,rd.ResourceUsage.VertexBuffer),
(210,rd.ResourceUsage.VertexBuffer),
(211,rd.ResourceUsage.VertexBuffer),
(190,rd.ResourceUsage.VertexBuffer),
(191,rd.ResourceUsage.VertexBuffer),
(208,rd.ResourceUsage.VertexBuffer),
(212,rd.ResourceUsage.VertexBuffer),
(213,rd.ResourceUsage.VertexBuffer),
(218,rd.ResourceUsage.VertexBuffer),
(219,rd.ResourceUsage.VertexBuffer),
(220,rd.ResourceUsage.VertexBuffer),
(225,rd.ResourceUsage.VertexBuffer)]
(214,rd.ResourceUsage.VertexBuffer),
(215,rd.ResourceUsage.VertexBuffer),
(220,rd.ResourceUsage.VertexBuffer),
(221,rd.ResourceUsage.VertexBuffer),
(222,rd.ResourceUsage.VertexBuffer),
(227,rd.ResourceUsage.VertexBuffer)]
if drawIndirectCount:
expectedUsage += [
(230,rd.ResourceUsage.VertexBuffer),
(233,rd.ResourceUsage.VertexBuffer),
(237,rd.ResourceUsage.VertexBuffer),
(241,rd.ResourceUsage.VertexBuffer),
(246,rd.ResourceUsage.VertexBuffer),
(247,rd.ResourceUsage.VertexBuffer),
(232,rd.ResourceUsage.VertexBuffer),
(235,rd.ResourceUsage.VertexBuffer),
(239,rd.ResourceUsage.VertexBuffer),
(243,rd.ResourceUsage.VertexBuffer),
(248,rd.ResourceUsage.VertexBuffer),
(253,rd.ResourceUsage.VertexBuffer),
(254,rd.ResourceUsage.VertexBuffer)]
(249,rd.ResourceUsage.VertexBuffer),
(250,rd.ResourceUsage.VertexBuffer),
(255,rd.ResourceUsage.VertexBuffer),
(256,rd.ResourceUsage.VertexBuffer)]
if nestedSecondaries:
expectedUsage += [
(249+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.VertexBuffer),
(252+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.VertexBuffer)]
(251+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.VertexBuffer),
(254+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.VertexBuffer)]
if descBuffer:
expectedUsage += [
(254+countDrawIndirectCount+countNested,rd.ResourceUsage.VertexBuffer),
(257+countDrawIndirectCount+countNested,rd.ResourceUsage.VertexBuffer)]
(256+countDrawIndirectCount+countNested,rd.ResourceUsage.VertexBuffer),
(259+countDrawIndirectCount+countNested,rd.ResourceUsage.VertexBuffer)]
if (res.name == "Index Buffer"):
expectedUsage = [(35,rd.ResourceUsage.IndexBuffer),
(45,rd.ResourceUsage.IndexBuffer),
(62,rd.ResourceUsage.IndexBuffer),
(76,rd.ResourceUsage.IndexBuffer),
(134,rd.ResourceUsage.IndexBuffer),
(135,rd.ResourceUsage.IndexBuffer),
(136,rd.ResourceUsage.IndexBuffer),
(140,rd.ResourceUsage.IndexBuffer),
(187,rd.ResourceUsage.IndexBuffer),
(188,rd.ResourceUsage.IndexBuffer),
(137,rd.ResourceUsage.IndexBuffer),
(138,rd.ResourceUsage.IndexBuffer),
(142,rd.ResourceUsage.IndexBuffer),
(189,rd.ResourceUsage.IndexBuffer),
(218,rd.ResourceUsage.IndexBuffer),
(219,rd.ResourceUsage.IndexBuffer),
(220,rd.ResourceUsage.IndexBuffer)]
(190,rd.ResourceUsage.IndexBuffer),
(191,rd.ResourceUsage.IndexBuffer),
(220,rd.ResourceUsage.IndexBuffer),
(221,rd.ResourceUsage.IndexBuffer),
(222,rd.ResourceUsage.IndexBuffer)]
if drawIndirectCount:
expectedUsage += [
(233,rd.ResourceUsage.IndexBuffer),
(241,rd.ResourceUsage.IndexBuffer),
(253,rd.ResourceUsage.IndexBuffer),
(254,rd.ResourceUsage.IndexBuffer)]
(235,rd.ResourceUsage.IndexBuffer),
(243,rd.ResourceUsage.IndexBuffer),
(255,rd.ResourceUsage.IndexBuffer),
(256,rd.ResourceUsage.IndexBuffer)]
if nestedSecondaries:
expectedUsage += [
(252+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.IndexBuffer)]
(254+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.IndexBuffer)]
if descBuffer:
expectedUsage += [
(257+countDrawIndirectCount+countNested,rd.ResourceUsage.IndexBuffer)]
(259+countDrawIndirectCount+countNested,rd.ResourceUsage.IndexBuffer)]
if (res.name == "Compute Buffer In"):
expectedUsage += [(87,rd.ResourceUsage.CS_Constants),
(94,rd.ResourceUsage.CS_Constants)]
expectedUsage += [(89,rd.ResourceUsage.CS_Constants),
(96,rd.ResourceUsage.CS_Constants)]
if nestedSecondaries:
expectedUsage += [(265+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.CS_Constants)]
expectedUsage += [(267+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.CS_Constants)]
if descBuffer:
expectedUsage += [(262+countDrawIndirectCount+countNested,rd.ResourceUsage.CS_Constants)]
expectedUsage += [(264+countDrawIndirectCount+countNested,rd.ResourceUsage.CS_Constants)]
if (res.name == "Compute Buffer Out"):
expectedUsage += [(87,rd.ResourceUsage.CS_RWResource),
(94,rd.ResourceUsage.CS_RWResource)]
expectedUsage += [(89,rd.ResourceUsage.CS_RWResource),
(96,rd.ResourceUsage.CS_RWResource)]
if nestedSecondaries:
expectedUsage += [(265+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.CS_RWResource)]
expectedUsage += [(267+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.CS_RWResource)]
if descBuffer:
expectedUsage += [(262+countDrawIndirectCount+countNested,rd.ResourceUsage.CS_RWResource)]
expectedUsage += [(264+countDrawIndirectCount+countNested,rd.ResourceUsage.CS_RWResource)]
if (res.name == "Indirect Data"):
expectedUsage += [(14,rd.ResourceUsage.Barrier),
(15,rd.ResourceUsage.Clear),
(16,rd.ResourceUsage.Barrier),
(20,rd.ResourceUsage.CS_RWResource),
(21,rd.ResourceUsage.Barrier),
(95,rd.ResourceUsage.Barrier),
(106,rd.ResourceUsage.CS_RWResource),
(106,rd.ResourceUsage.Indirect),
(107,rd.ResourceUsage.Barrier),
(118,rd.ResourceUsage.Indirect),
(122,rd.ResourceUsage.Indirect),
(125,rd.ResourceUsage.Indirect),
(133,rd.ResourceUsage.Indirect),
(140,rd.ResourceUsage.Indirect),
(142,rd.ResourceUsage.Barrier),
(147,rd.ResourceUsage.Barrier),
(148,rd.ResourceUsage.Clear),
(97,rd.ResourceUsage.Barrier),
(108,rd.ResourceUsage.CS_RWResource),
(108,rd.ResourceUsage.Indirect),
(109,rd.ResourceUsage.Barrier),
(120,rd.ResourceUsage.Indirect),
(124,rd.ResourceUsage.Indirect),
(127,rd.ResourceUsage.Indirect),
(135,rd.ResourceUsage.Indirect),
(142,rd.ResourceUsage.Indirect),
(144,rd.ResourceUsage.Barrier),
(149,rd.ResourceUsage.Barrier),
(153,rd.ResourceUsage.CS_RWResource),
(155,rd.ResourceUsage.Barrier),
(157,rd.ResourceUsage.CS_RWResource),
(157,rd.ResourceUsage.Indirect),
(158,rd.ResourceUsage.CS_RWResource),
(158,rd.ResourceUsage.Indirect),
(159,rd.ResourceUsage.Barrier),
(150,rd.ResourceUsage.Clear),
(151,rd.ResourceUsage.Barrier),
(155,rd.ResourceUsage.CS_RWResource),
(157,rd.ResourceUsage.Barrier),
(159,rd.ResourceUsage.CS_RWResource),
(159,rd.ResourceUsage.Indirect),
(160,rd.ResourceUsage.CS_RWResource),
(160,rd.ResourceUsage.Indirect),
(161,rd.ResourceUsage.Barrier),
(175,rd.ResourceUsage.Indirect),
(178,rd.ResourceUsage.Indirect),
(186,rd.ResourceUsage.Indirect),
(206,rd.ResourceUsage.Indirect),
(209,rd.ResourceUsage.Indirect),
(217,rd.ResourceUsage.Indirect),
(225,rd.ResourceUsage.IndexBuffer),
(225,rd.ResourceUsage.Indirect)]
(162,rd.ResourceUsage.CS_RWResource),
(162,rd.ResourceUsage.Indirect),
(163,rd.ResourceUsage.Barrier),
(177,rd.ResourceUsage.Indirect),
(180,rd.ResourceUsage.Indirect),
(188,rd.ResourceUsage.Indirect),
(208,rd.ResourceUsage.Indirect),
(211,rd.ResourceUsage.Indirect),
(219,rd.ResourceUsage.Indirect),
(227,rd.ResourceUsage.IndexBuffer),
(227,rd.ResourceUsage.Indirect)]
if drawIndirectCount:
expectedUsage += [
(230,rd.ResourceUsage.Indirect),
(230,rd.ResourceUsage.Indirect),
(233,rd.ResourceUsage.Indirect),
(233,rd.ResourceUsage.Indirect),
(237,rd.ResourceUsage.Indirect),
(237,rd.ResourceUsage.Indirect),
(241,rd.ResourceUsage.Indirect),
(241,rd.ResourceUsage.Indirect),
(245,rd.ResourceUsage.Indirect),
(245,rd.ResourceUsage.Indirect),
(252,rd.ResourceUsage.Indirect),
(252,rd.ResourceUsage.Indirect)]
expectedUsage += [(229+countDrawIndirectCount,rd.ResourceUsage.Barrier)]
(232,rd.ResourceUsage.Indirect),
(232,rd.ResourceUsage.Indirect),
(235,rd.ResourceUsage.Indirect),
(235,rd.ResourceUsage.Indirect),
(239,rd.ResourceUsage.Indirect),
(239,rd.ResourceUsage.Indirect),
(243,rd.ResourceUsage.Indirect),
(243,rd.ResourceUsage.Indirect),
(247,rd.ResourceUsage.Indirect),
(247,rd.ResourceUsage.Indirect),
(254,rd.ResourceUsage.Indirect),
(254,rd.ResourceUsage.Indirect)]
expectedUsage += [(231+countDrawIndirectCount,rd.ResourceUsage.Barrier)]
if nestedSecondaries:
expectedUsage += [
(266+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.Barrier)]
(268+countDrawIndirectCount+countDescBufferCopy,rd.ResourceUsage.Barrier)]
if meshShader:
expectedUsage += [
(242+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(247+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(250+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(253+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(253+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(258+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(258+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(262+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(262+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect)]
(244+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(249+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(252+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(255+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(255+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(260+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(260+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(264+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect),
(264+countDrawIndirectCount+countNested+countDescBuffer,rd.ResourceUsage.Indirect)]
if (res.name == "Barrier Buffer"):
expectedUsage = [(240+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(248+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(256+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(264+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(272+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(280+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(288+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(296+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(304+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(312+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier)]
expectedUsage = [(242+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(250+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(258+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(266+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(274+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(282+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(290+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(298+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(306+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(314+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier)]
if (res.name == "Barrier2 Buffer"):
expectedUsage = [(320+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(325+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(330+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(335+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier)]
expectedUsage = [(322+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(327+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(332+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier),
(337+countDrawIndirectCount+countNested+countDescBuffer+countMeshShader,rd.ResourceUsage.Barrier)]
if (res.name == "Descriptor Buffer"):
if descBuffer:
expectedUsage = [(233+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(234+countDrawIndirectCount,rd.ResourceUsage.CopySrc),
(235+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(236+countDrawIndirectCount,rd.ResourceUsage.Clear),
(239+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(240+countDrawIndirectCount,rd.ResourceUsage.CopyDst)]
expectedUsage = [(235+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(236+countDrawIndirectCount,rd.ResourceUsage.CopySrc),
(237+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(238+countDrawIndirectCount,rd.ResourceUsage.Clear),
(241+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(242+countDrawIndirectCount,rd.ResourceUsage.CopyDst)]
if (res.name == "Descriptor Backup Buffer"):
if descBuffer:
expectedUsage = [(233+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(234+countDrawIndirectCount,rd.ResourceUsage.CopyDst),
(239+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(240+countDrawIndirectCount,rd.ResourceUsage.CopySrc)]
expectedUsage = [(235+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(236+countDrawIndirectCount,rd.ResourceUsage.CopyDst),
(241+countDrawIndirectCount,rd.ResourceUsage.Barrier),
(242+countDrawIndirectCount,rd.ResourceUsage.CopySrc)]
elif res.type == rd.ResourceType.Texture:
if (res.name == "Offscreen MSAA Image"):
expectedUsage = [(11,rd.ResourceUsage.Barrier),
@@ -357,48 +357,48 @@ class VK_Resource_Usage(rdtest.TestCase):
(10,rd.ResourceUsage.Clear),
(42,rd.ResourceUsage.PS_Resource),
(45,rd.ResourceUsage.PS_Resource),
(118,rd.ResourceUsage.PS_Resource),
(122,rd.ResourceUsage.PS_Resource),
(126,rd.ResourceUsage.PS_Resource),
(127,rd.ResourceUsage.PS_Resource),
(120,rd.ResourceUsage.PS_Resource),
(124,rd.ResourceUsage.PS_Resource),
(128,rd.ResourceUsage.PS_Resource),
(129,rd.ResourceUsage.PS_Resource),
(134,rd.ResourceUsage.PS_Resource),
(135,rd.ResourceUsage.PS_Resource),
(130,rd.ResourceUsage.PS_Resource),
(131,rd.ResourceUsage.PS_Resource),
(136,rd.ResourceUsage.PS_Resource),
(140,rd.ResourceUsage.PS_Resource),
(175,rd.ResourceUsage.PS_Resource),
(179,rd.ResourceUsage.PS_Resource),
(180,rd.ResourceUsage.PS_Resource),
(137,rd.ResourceUsage.PS_Resource),
(138,rd.ResourceUsage.PS_Resource),
(142,rd.ResourceUsage.PS_Resource),
(177,rd.ResourceUsage.PS_Resource),
(181,rd.ResourceUsage.PS_Resource),
(182,rd.ResourceUsage.PS_Resource),
(187,rd.ResourceUsage.PS_Resource),
(188,rd.ResourceUsage.PS_Resource),
(183,rd.ResourceUsage.PS_Resource),
(184,rd.ResourceUsage.PS_Resource),
(189,rd.ResourceUsage.PS_Resource),
(206,rd.ResourceUsage.PS_Resource),
(210,rd.ResourceUsage.PS_Resource),
(211,rd.ResourceUsage.PS_Resource),
(190,rd.ResourceUsage.PS_Resource),
(191,rd.ResourceUsage.PS_Resource),
(208,rd.ResourceUsage.PS_Resource),
(212,rd.ResourceUsage.PS_Resource),
(213,rd.ResourceUsage.PS_Resource),
(218,rd.ResourceUsage.PS_Resource),
(219,rd.ResourceUsage.PS_Resource),
(220,rd.ResourceUsage.PS_Resource),
(225,rd.ResourceUsage.PS_Resource)]
(214,rd.ResourceUsage.PS_Resource),
(215,rd.ResourceUsage.PS_Resource),
(220,rd.ResourceUsage.PS_Resource),
(221,rd.ResourceUsage.PS_Resource),
(222,rd.ResourceUsage.PS_Resource),
(227,rd.ResourceUsage.PS_Resource)]
if drawIndirectCount:
expectedUsage += [
(230,rd.ResourceUsage.PS_Resource),
(233,rd.ResourceUsage.PS_Resource),
(237,rd.ResourceUsage.PS_Resource),
(241,rd.ResourceUsage.PS_Resource),
(246,rd.ResourceUsage.PS_Resource),
(247,rd.ResourceUsage.PS_Resource),
(232,rd.ResourceUsage.PS_Resource),
(235,rd.ResourceUsage.PS_Resource),
(239,rd.ResourceUsage.PS_Resource),
(243,rd.ResourceUsage.PS_Resource),
(248,rd.ResourceUsage.PS_Resource),
(253,rd.ResourceUsage.PS_Resource),
(254,rd.ResourceUsage.PS_Resource)]
(249,rd.ResourceUsage.PS_Resource),
(250,rd.ResourceUsage.PS_Resource),
(255,rd.ResourceUsage.PS_Resource),
(256,rd.ResourceUsage.PS_Resource)]
if descBuffer:
expectedUsage += [
(254+countDrawIndirectCount+countNested,rd.ResourceUsage.PS_Resource),
(257+countDrawIndirectCount+countNested,rd.ResourceUsage.PS_Resource)]
(256+countDrawIndirectCount+countNested,rd.ResourceUsage.PS_Resource),
(259+countDrawIndirectCount+countNested,rd.ResourceUsage.PS_Resource)]
elif res.type == rd.ResourceType.CommandBuffer:
expectedUsage = [(0,rd.ResourceUsage.Unused)]
elif res.type == rd.ResourceType.DescriptorStore: