From d6217bc20873a7d70537921e7cea9be5572bc34c Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Mon, 21 Sep 2015 11:44:06 -0600 Subject: bug 14365: make separate viewport and scissor cmds --- loader/gpa_helper.h | 2 ++ loader/table_ops.h | 3 +++ loader/trampoline.c | 13 +++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) (limited to 'loader') diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h index 212e93ea..bc5c7b60 100644 --- a/loader/gpa_helper.h +++ b/loader/gpa_helper.h @@ -235,6 +235,8 @@ static inline void* globalGetProcAddr(const char *name) 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 7024532f..6c732d0a 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -123,6 +123,7 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table 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 @@ static inline void *loader_lookup_device_dispatch_table( 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 bd6f43b8..5074f3b2 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -1112,13 +1112,22 @@ LOADER_EXPORT void VKAPI vkCmdBindPipeline(VkCmdBuffer cmdBuffer, VkPipelineBind 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) -- cgit v1.2.3