bug 14365: make separate viewport and scissor cmds
diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h
index 212e93e..bc5c7b6 100644
--- a/loader/gpa_helper.h
+++ b/loader/gpa_helper.h
@@ -235,6 +235,8 @@
return (void*) vkCmdBindPipeline;
if (!strcmp(name, "CmdSetViewport"))
return (void*) vkCmdSetViewport;
+ if (!strcmp(name, "CmdSetScissor"))
+ return (void*) vkCmdSetScissor;
if (!strcmp(name, "CmdSetLineWidth"))
return (void*) vkCmdSetLineWidth;
if (!strcmp(name, "CmdSetDepthBias"))
diff --git a/loader/table_ops.h b/loader/table_ops.h
index 7024532..6c732d0 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -123,6 +123,7 @@
table->ResetCommandBuffer = (PFN_vkResetCommandBuffer) gpa(dev, "vkResetCommandBuffer");
table->CmdBindPipeline = (PFN_vkCmdBindPipeline) gpa(dev, "vkCmdBindPipeline");
table->CmdSetViewport = (PFN_vkCmdSetViewport) gpa(dev, "vkCmdSetViewport");
+ table->CmdSetScissor = (PFN_vkCmdSetScissor) gpa(dev, "vkCmdSetScissor");
table->CmdSetLineWidth = (PFN_vkCmdSetLineWidth) gpa(dev, "vkCmdSetLineWidth");
table->CmdSetDepthBias = (PFN_vkCmdSetDepthBias) gpa(dev, "vkCmdSetDepthBias");
table->CmdSetBlendConstants = (PFN_vkCmdSetBlendConstants) gpa(dev, "vkCmdSetBlendConstants");
@@ -360,6 +361,8 @@
return (void *) table->CmdBindPipeline;
if (!strcmp(name, "CmdSetViewport"))
return (void *) table->CmdSetViewport;
+ if (!strcmp(name, "CmdSetScissor"))
+ return (void *) table->CmdSetScissor;
if (!strcmp(name, "CmdSetLineWidth"))
return (void *) table->CmdSetLineWidth;
if (!strcmp(name, "CmdSetDepthBias"))
diff --git a/loader/trampoline.c b/loader/trampoline.c
index bd6f43b..5074f3b 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -1112,13 +1112,22 @@
disp->CmdBindPipeline(cmdBuffer, pipelineBindPoint, pipeline);
}
-LOADER_EXPORT void VKAPI vkCmdSetViewport(VkCmdBuffer cmdBuffer, uint32_t viewportAndScissorCount, const VkViewport* pViewports, const VkRect2D* pScissors)
+LOADER_EXPORT void VKAPI vkCmdSetViewport(VkCmdBuffer cmdBuffer, uint32_t viewportCount, const VkViewport* pViewports)
{
const VkLayerDispatchTable *disp;
disp = loader_get_dispatch(cmdBuffer);
- disp->CmdSetViewport(cmdBuffer, viewportAndScissorCount, pViewports, pScissors);
+ disp->CmdSetViewport(cmdBuffer, viewportCount, pViewports);
+}
+
+LOADER_EXPORT void VKAPI vkCmdSetScissor(VkCmdBuffer cmdBuffer, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ const VkLayerDispatchTable *disp;
+
+ disp = loader_get_dispatch(cmdBuffer);
+
+ disp->CmdSetScissor(cmdBuffer, scissorCount, pScissors);
}
LOADER_EXPORT void VKAPI vkCmdSetLineWidth(VkCmdBuffer cmdBuffer, float lineWidth)