diff options
| author | Cody Northrop <cody@lunarg.com> | 2015-04-16 13:41:56 -0600 |
|---|---|---|
| committer | Cody Northrop <cody@lunarg.com> | 2015-04-17 12:37:47 -0600 |
| commit | fb5185a983807d44bb7b1b7389c44eda7b33bcf0 (patch) | |
| tree | 65918a8c26a063d40598d3111c77b282d275f9dc | |
| parent | e5dfd21ca1a9ff58bde948f1c52bbbf2c674ba67 (diff) | |
| download | usermoji-fb5185a983807d44bb7b1b7389c44eda7b33bcf0.tar.xz | |
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.
| -rw-r--r-- | demos/cube.c | 2 | ||||
| -rw-r--r-- | demos/tri.c | 2 | ||||
| -rw-r--r-- | icd/nulldrv/nulldrv.c | 9 | ||||
| -rw-r--r-- | include/vulkan.h | 9 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 6 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 11 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 4 | ||||
| -rwxr-xr-x | 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<count; i++) { + for (uint32_t i=0; i<setCount; i++) { if (getSetNode(pDescriptorSets[i])) { if (dsUpdateActive(pDescriptorSets[i])) { // TODO : This check here needs to be made at QueueSubmit time @@ -2034,7 +2034,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipe sprintf(str, "Attempt to use CmdBuffer %p that doesn't exist!", (void*)cmdBuffer); layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, cmdBuffer, 0, DRAWSTATE_INVALID_CMD_BUFFER, "DS", str); } - nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChainSlot, count, pDescriptorSets, pUserData); + nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, firstSet, setCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdBindIndexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index ddba58c3..a89a1db4 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1606,13 +1606,14 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDynamicStateObject(VkCmdBuffer cmdBuffer, Vk VK_LAYER_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) { // TODO : Somewhere need to verify that all textures referenced by shaders in DS are in some type of *SHADER_READ* state - nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChainSlot, count, pDescriptorSets, pUserData); + nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, firstSet, setCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffers( diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 4e526c3c..cbb341a8 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -1222,14 +1222,14 @@ 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) { char str[1024]; if (!validate_VkPipelineBindPoint(pipelineBindPoint)) { sprintf(str, "Parameter pipelineBindPoint to function CmdBindDescriptorSets has invalid value of %i.", (int)pipelineBindPoint); layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, NULL, 0, 1, "PARAMCHECK", str); } - nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChainSlot, count, pDescriptorSets, pUserData); + nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, firstSet, setCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffers( @@ -632,10 +632,11 @@ core = Extension( Proto("void", "CmdBindDescriptorSets", [Param("VkCmdBuffer", "cmdBuffer"), Param("VkPipelineBindPoint", "pipelineBindPoint"), - Param("uint32_t", "layoutChainSlot"), - Param("uint32_t", "count"), + Param("uint32_t", "firstSet"), + Param("uint32_t", "setCount"), Param("const VkDescriptorSet*", "pDescriptorSets"), - Param("const uint32_t*", "pUserData")]), + Param("uint32_t", "dynamicOffsetCount"), + Param("const uint32_t*", "pDynamicOffsets")]), Proto("void", "CmdBindVertexBuffers", [Param("VkCmdBuffer", "cmdBuffer"), |
