aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Northrop <cody@lunarg.com>2015-04-16 13:41:56 -0600
committerCody Northrop <cody@lunarg.com>2015-04-17 12:37:47 -0600
commitfb5185a983807d44bb7b1b7389c44eda7b33bcf0 (patch)
tree65918a8c26a063d40598d3111c77b282d275f9dc
parente5dfd21ca1a9ff58bde948f1c52bbbf2c674ba67 (diff)
downloadusermoji-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.c2
-rw-r--r--demos/tri.c2
-rw-r--r--icd/nulldrv/nulldrv.c9
-rw-r--r--include/vulkan.h9
-rw-r--r--layers/draw_state.cpp6
-rw-r--r--layers/mem_tracker.cpp11
-rw-r--r--layers/param_checker.cpp4
-rwxr-xr-xvulkan.py7
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(
diff --git a/vulkan.py b/vulkan.py
index 9301b512..9a708fa2 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -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"),