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 --- layers/device_limits.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'layers/device_limits.cpp') diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp index 33c4250e..30e57d44 100644 --- a/layers/device_limits.cpp +++ b/layers/device_limits.cpp @@ -299,14 +299,26 @@ VK_LAYER_EXPORT VkResult VKAPI vkGetPhysicalDeviceSparseImageFormatProperties(Vk VK_LAYER_EXPORT void VKAPI vkCmdSetViewport( VkCmdBuffer cmdBuffer, - uint32_t viewportAndScissorCount, - const VkViewport* pViewports, + uint32_t viewportCount, + const VkViewport* pViewports) +{ + VkBool32 skipCall = VK_FALSE; + /* TODO: Verify viewportCount < maxViewports from VkPhysicalDeviceLimits */ + if (VK_FALSE == skipCall) { + get_dispatch_table(device_limits_device_table_map, cmdBuffer)->CmdSetViewport(cmdBuffer, viewportCount, pViewports); + } +} + +VK_LAYER_EXPORT void VKAPI vkCmdSetScissor( + VkCmdBuffer cmdBuffer, + uint32_t scissorCount, const VkRect2D* pScissors) { VkBool32 skipCall = VK_FALSE; - /* TODO: Verify viewportAndScissorCount < maxViewports from VkPhysicalDeviceLimits */ + /* TODO: Verify scissorCount < maxViewports from VkPhysicalDeviceLimits */ + /* TODO: viewportCount and scissorCount must match at draw time */ if (VK_FALSE == skipCall) { - get_dispatch_table(device_limits_device_table_map, cmdBuffer)->CmdSetViewport(cmdBuffer, viewportAndScissorCount, pViewports, pScissors); + get_dispatch_table(device_limits_device_table_map, cmdBuffer)->CmdSetScissor(cmdBuffer, scissorCount, pScissors); } } -- cgit v1.2.3