diff --git a/util/test/demos/d3d11/d3d11_mesh_zoo.cpp b/util/test/demos/d3d11/d3d11_mesh_zoo.cpp index 1b779590d..6f6d1d9b1 100644 --- a/util/test/demos/d3d11/d3d11_mesh_zoo.cpp +++ b/util/test/demos/d3d11/d3d11_mesh_zoo.cpp @@ -183,6 +183,10 @@ float4 main(v2f IN) : SV_Target0 ctx->Draw(1, 0); + ctx->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); + setMarker("Empty"); + ctx->DrawInstanced(0, 0, 0, 0); + Present(); } diff --git a/util/test/demos/d3d12/d3d12_mesh_zoo.cpp b/util/test/demos/d3d12/d3d12_mesh_zoo.cpp index 20257bd6b..2dfce0cf4 100644 --- a/util/test/demos/d3d12/d3d12_mesh_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_mesh_zoo.cpp @@ -197,6 +197,12 @@ float4 main(v2f IN) : SV_Target0 cmd->DrawInstanced(1, 1, 0, 0); + cmd->SetPipelineState(pso); + + setMarker(cmd, "Empty"); + + cmd->DrawInstanced(1, 0, 0, 0); + FinishUsingBackbuffer(cmd, D3D12_RESOURCE_STATE_RENDER_TARGET); cmd->Close(); diff --git a/util/test/demos/gl/gl_mesh_zoo.cpp b/util/test/demos/gl/gl_mesh_zoo.cpp index cd6480996..25422417c 100644 --- a/util/test/demos/gl/gl_mesh_zoo.cpp +++ b/util/test/demos/gl/gl_mesh_zoo.cpp @@ -331,6 +331,10 @@ void main() glBlitFramebuffer(0, 0, screenWidth, screenHeight, 0, 0, screenWidth, screenHeight, GL_COLOR_BUFFER_BIT, GL_LINEAR); + setMarker("Empty"); + + glDrawArrays(GL_TRIANGLES, 0, 0); + Present(); } diff --git a/util/test/demos/vk/vk_mesh_zoo.cpp b/util/test/demos/vk/vk_mesh_zoo.cpp index 86219815e..d2c54ab72 100644 --- a/util/test/demos/vk/vk_mesh_zoo.cpp +++ b/util/test/demos/vk/vk_mesh_zoo.cpp @@ -302,6 +302,10 @@ void main() vkCmdDraw(cmd, 1, 1, 0, 0); + vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, pipe); + setMarker(cmd, "Empty"); + vkCmdDraw(cmd, 0, 0, 0, 0); + vkCmdEndRenderPass(cmd); FinishUsingBackbuffer(cmd, VK_ACCESS_TRANSFER_WRITE_BIT, VK_IMAGE_LAYOUT_GENERAL); diff --git a/util/test/rdtest/shared/Mesh_Zoo.py b/util/test/rdtest/shared/Mesh_Zoo.py index d729140f5..7a648b2cd 100644 --- a/util/test/rdtest/shared/Mesh_Zoo.py +++ b/util/test/rdtest/shared/Mesh_Zoo.py @@ -384,3 +384,16 @@ class Mesh_Zoo(): self.check_vertex(105, 65, (rd.ReplayOutput.NoResult, rd.ReplayOutput.NoResult)) self.check_vertex(115, 135, (rd.ReplayOutput.NoResult, rd.ReplayOutput.NoResult)) + self.controller.SetFrameEvent(self.find_action("Empty").next.eventId, False) + + self.cfg.position = self.controller.GetPostVSData(0, 0, self.cfg.type) + self.cfg.position.nearPlane = 1.0 + self.cfg.position.farPlane = 100.0 + + self.cache_output() + + self.check_vertex(105, 65, (rd.ReplayOutput.NoResult, rd.ReplayOutput.NoResult)) + self.check_vertex(115, 135, (rd.ReplayOutput.NoResult, rd.ReplayOutput.NoResult)) + + rdtest.log.success("Picking in empty draw is as expected") +