From fb5185a983807d44bb7b1b7389c44eda7b33bcf0 Mon Sep 17 00:00:00 2001 From: Cody Northrop Date: Thu, 16 Apr 2015 13:41:56 -0600 Subject: vulkan: Update vulkan.h for revision 88 -- Bug #13744 Rename some vkCmdBindDescriptorSets parameters and add a dynamic offset count. v2: Add a check against dynamicOffsetCount before copying dset data. --- demos/cube.c | 2 +- demos/tri.c | 2 +- icd/nulldrv/nulldrv.c | 9 +++++---- include/vulkan.h | 9 +++++---- layers/draw_state.cpp | 6 +++--- layers/mem_tracker.cpp | 11 ++++++----- layers/param_checker.cpp | 4 ++-- vulkan.py | 7 ++++--- 8 files changed, 27 insertions(+), 23 deletions(-) diff --git a/demos/cube.c b/demos/cube.c index 3516e002..1be3c8c4 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -430,7 +430,7 @@ static void demo_draw_build_cmd(struct demo *demo, VkCmdBuffer cmd_buf) vkCmdBindPipeline(cmd_buf, VK_PIPELINE_BIND_POINT_GRAPHICS, demo->pipeline); vkCmdBindDescriptorSets(cmd_buf, VK_PIPELINE_BIND_POINT_GRAPHICS, - 0, 1, &demo->desc_set, NULL); + 0, 1, &demo->desc_set, 0, NULL); vkCmdBindDynamicStateObject(cmd_buf, VK_STATE_BIND_POINT_VIEWPORT, demo->viewport); vkCmdBindDynamicStateObject(cmd_buf, VK_STATE_BIND_POINT_RASTER, demo->raster); diff --git a/demos/tri.c b/demos/tri.c index 67299b1c..40f7f824 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -258,7 +258,7 @@ static void demo_draw_build_cmd(struct demo *demo) vkCmdBindPipeline(demo->cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, demo->pipeline); vkCmdBindDescriptorSets(demo->cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, - 0, 1, & demo->desc_set, NULL); + 0, 1, & demo->desc_set, 0, NULL); vkCmdBindDynamicStateObject(demo->cmd, VK_STATE_BIND_POINT_VIEWPORT, demo->viewport); vkCmdBindDynamicStateObject(demo->cmd, VK_STATE_BIND_POINT_RASTER, demo->raster); diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c index 5629958a..e00c8a35 100644 --- a/icd/nulldrv/nulldrv.c +++ b/icd/nulldrv/nulldrv.c @@ -1060,10 +1060,11 @@ ICD_EXPORT void VKAPI vkCmdBindDynamicStateObject( ICD_EXPORT void VKAPI vkCmdBindDescriptorSets( VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, - uint32_t layoutChainSlot, - uint32_t count, - const VkDescriptorSet* pDescriptorSets, - const uint32_t* pUserData) + uint32_t firstSet, + uint32_t setCount, + const VkDescriptorSet* pDescriptorSets, + uint32_t dynamicOffsetCount, + const uint32_t* pDynamicOffsets) { NULLDRV_LOG_FUNC; } diff --git a/include/vulkan.h b/include/vulkan.h index 8d495fea..b9fce560 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -2148,7 +2148,7 @@ typedef VkResult (VKAPI *PFN_vkEndCommandBuffer)(VkCmdBuffer cmdBuffer); typedef VkResult (VKAPI *PFN_vkResetCommandBuffer)(VkCmdBuffer cmdBuffer); typedef void (VKAPI *PFN_vkCmdBindPipeline)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); typedef void (VKAPI *PFN_vkCmdBindDynamicStateObject)(VkCmdBuffer cmdBuffer, VkStateBindPoint stateBindPoint, VkDynamicStateObject state); -typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t layoutChainSlot, uint32_t count, const VkDescriptorSet* pDescriptorSets, const uint32_t* pUserData); +typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstSet, uint32_t setCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); typedef void (VKAPI *PFN_vkCmdBindIndexBuffer)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); typedef void (VKAPI *PFN_vkCmdBindVertexBuffers)(VkCmdBuffer cmdBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); typedef void (VKAPI *PFN_vkCmdDraw)(VkCmdBuffer cmdBuffer, uint32_t firstVertex, uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount); @@ -2650,10 +2650,11 @@ void VKAPI vkCmdBindDynamicStateObject( void VKAPI vkCmdBindDescriptorSets( VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, - uint32_t layoutChainSlot, - uint32_t count, + uint32_t firstSet, + uint32_t setCount, const VkDescriptorSet* pDescriptorSets, - const uint32_t* pUserData); + uint32_t dynamicOffsetCount, + const uint32_t* pDynamicOffsets); void VKAPI vkCmdBindIndexBuffer( VkCmdBuffer cmdBuffer, diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 3510370f..ab49bce8 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -1997,13 +1997,13 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDynamicStateObject(VkCmdBuffer cmdBuffer, Vk nextTable.CmdBindDynamicStateObject(cmdBuffer, stateBindPoint, state); } -VK_LAYER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t layoutChainSlot, uint32_t count, const VkDescriptorSet* pDescriptorSets, const uint32_t* pUserData) +VK_LAYER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstSet, uint32_t setCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); if (pCB) { updateCBTracking(cmdBuffer); addCmd(pCB, CMD_BINDDESCRIPTORSETS); - for (uint32_t i=0; i