bug 14887: Documenting Valid Behavior in the Spec (WIP)
MR544 introduced header changes accidentally and MR573 fixed some of them.
Not sure if this pBindings-to-pBinding rename is intensional or not.
s/pBindings/pBinding/g
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14887
diff --git a/include/vulkan.h b/include/vulkan.h
index 41ca6c5..6963cfa 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -1848,7 +1848,7 @@
const void* pNext;
VkDescriptorSetLayoutCreateFlags flags;
uint32_t bindingCount;
- const VkDescriptorSetLayoutBinding* pBindings;
+ const VkDescriptorSetLayoutBinding* pBinding;
} VkDescriptorSetLayoutCreateInfo;
typedef struct VkDescriptorPoolSize {
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 341f95e..9befeea 100755
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -702,7 +702,7 @@
{
uint32_t offsetIndex = 0;
for (uint32_t i = 0; i<binding; i++) {
- offsetIndex += pLayout->createInfo.pBindings[i].arraySize;
+ offsetIndex += pLayout->createInfo.pBinding[i].arraySize;
}
return offsetIndex;
}
@@ -711,7 +711,7 @@
{
uint32_t offsetIndex = 0;
for (uint32_t i = 0; i<=binding; i++) {
- offsetIndex += pLayout->createInfo.pBindings[i].arraySize;
+ offsetIndex += pLayout->createInfo.pBinding[i].arraySize;
}
return offsetIndex-1;
}
@@ -1045,7 +1045,7 @@
// Layout bindings match w/ update, now verify that update type & stageFlags are the same for entire update
if ((skipCall = validateUpdateConsistency(my_data, device, pLayout, pUpdate, startIndex, endIndex)) == VK_FALSE) {
// The update is within bounds and consistent, but need to make sure contents make sense as well
- if ((skipCall = validateUpdateContents(my_data, &pWDS[i], &pLayout->createInfo.pBindings[binding])) == VK_FALSE) {
+ if ((skipCall = validateUpdateContents(my_data, &pWDS[i], &pLayout->createInfo.pBinding[binding])) == VK_FALSE) {
// Update is good. Save the update info
// Create new update struct for this set's shadow copy
GENERIC_HEADER* pNewNode = NULL;
@@ -1134,12 +1134,12 @@
} else {
uint32_t typeIndex = 0, poolSizeCount = 0;
for (j=0; j<pLayout->createInfo.bindingCount; ++j) {
- typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBindings[j].descriptorType);
- poolSizeCount = pLayout->createInfo.pBindings[j].arraySize;
+ typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBinding[j].descriptorType);
+ poolSizeCount = pLayout->createInfo.pBinding[j].arraySize;
if (poolSizeCount > pPoolNode->availableDescriptorTypeCount[typeIndex]) {
skipCall |= log_msg(dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, (uint64_t) pLayout->layout, 0, DRAWSTATE_DESCRIPTOR_POOL_EMPTY, "DS",
"Unable to allocate %u descriptors of type %s from pool %#" PRIxLEAST64 ". This pool only has %u descriptors of this type remaining.",
- poolSizeCount, string_VkDescriptorType(pLayout->createInfo.pBindings[j].descriptorType), (uint64_t) pPoolNode->pool, pPoolNode->availableDescriptorTypeCount[typeIndex]);
+ poolSizeCount, string_VkDescriptorType(pLayout->createInfo.pBinding[j].descriptorType), (uint64_t) pPoolNode->pool, pPoolNode->availableDescriptorTypeCount[typeIndex]);
} else { // Decrement available descriptors of this type
pPoolNode->availableDescriptorTypeCount[typeIndex] -= poolSizeCount;
}
@@ -1236,12 +1236,12 @@
return;
for (auto ii=my_data->layoutMap.begin(); ii!=my_data->layoutMap.end(); ++ii) {
LAYOUT_NODE* pLayout = (*ii).second;
- if (pLayout->createInfo.pBindings) {
+ if (pLayout->createInfo.pBinding) {
for (uint32_t i=0; i<pLayout->createInfo.bindingCount; i++) {
- if (pLayout->createInfo.pBindings[i].pImmutableSamplers)
- delete[] pLayout->createInfo.pBindings[i].pImmutableSamplers;
+ if (pLayout->createInfo.pBinding[i].pImmutableSamplers)
+ delete[] pLayout->createInfo.pBinding[i].pImmutableSamplers;
}
- delete[] pLayout->createInfo.pBindings;
+ delete[] pLayout->createInfo.pBinding;
}
delete pLayout;
}
@@ -2056,15 +2056,15 @@
}
memset(pNewNode, 0, sizeof(LAYOUT_NODE));
memcpy((void*)&pNewNode->createInfo, pCreateInfo, sizeof(VkDescriptorSetLayoutCreateInfo));
- pNewNode->createInfo.pBindings = new VkDescriptorSetLayoutBinding[pCreateInfo->bindingCount];
- memcpy((void*)pNewNode->createInfo.pBindings, pCreateInfo->pBindings, sizeof(VkDescriptorSetLayoutBinding)*pCreateInfo->bindingCount);
+ pNewNode->createInfo.pBinding = new VkDescriptorSetLayoutBinding[pCreateInfo->bindingCount];
+ memcpy((void*)pNewNode->createInfo.pBinding, pCreateInfo->pBinding, sizeof(VkDescriptorSetLayoutBinding)*pCreateInfo->bindingCount);
uint32_t totalCount = 0;
for (uint32_t i=0; i<pCreateInfo->bindingCount; i++) {
- totalCount += pCreateInfo->pBindings[i].arraySize;
- if (pCreateInfo->pBindings[i].pImmutableSamplers) {
- VkSampler** ppIS = (VkSampler**)&pNewNode->createInfo.pBindings[i].pImmutableSamplers;
- *ppIS = new VkSampler[pCreateInfo->pBindings[i].arraySize];
- memcpy(*ppIS, pCreateInfo->pBindings[i].pImmutableSamplers, pCreateInfo->pBindings[i].arraySize*sizeof(VkSampler));
+ totalCount += pCreateInfo->pBinding[i].arraySize;
+ if (pCreateInfo->pBinding[i].pImmutableSamplers) {
+ VkSampler** ppIS = (VkSampler**)&pNewNode->createInfo.pBinding[i].pImmutableSamplers;
+ *ppIS = new VkSampler[pCreateInfo->pBinding[i].arraySize];
+ memcpy(*ppIS, pCreateInfo->pBinding[i].pImmutableSamplers, pCreateInfo->pBinding[i].arraySize*sizeof(VkSampler));
}
}
if (totalCount > 0) {
@@ -2073,9 +2073,9 @@
uint32_t offset = 0;
uint32_t j = 0;
for (uint32_t i=0; i<pCreateInfo->bindingCount; i++) {
- for (j = 0; j < pCreateInfo->pBindings[i].arraySize; j++) {
- pNewNode->descriptorTypes[offset + j] = pCreateInfo->pBindings[i].descriptorType;
- pNewNode->stageFlags[offset + j] = pCreateInfo->pBindings[i].stageFlags;
+ for (j = 0; j < pCreateInfo->pBinding[i].arraySize; j++) {
+ pNewNode->descriptorTypes[offset + j] = pCreateInfo->pBinding[i].descriptorType;
+ pNewNode->stageFlags[offset + j] = pCreateInfo->pBinding[i].stageFlags;
}
offset += j;
}
@@ -2228,8 +2228,8 @@
LAYOUT_NODE* pLayout = pSet->pLayout;
uint32_t typeIndex = 0, poolSizeCount = 0;
for (uint32_t j=0; j<pLayout->createInfo.bindingCount; ++j) {
- typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBindings[j].descriptorType);
- poolSizeCount = pLayout->createInfo.pBindings[j].arraySize;
+ typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBinding[j].descriptorType);
+ poolSizeCount = pLayout->createInfo.pBinding[j].arraySize;
pPoolNode->availableDescriptorTypeCount[typeIndex] += poolSizeCount;
}
}
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 022c6b9..88ed52e 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -4259,16 +4259,16 @@
"vkCreateDescriptorSetLayout parameter, VkStructureType pCreateInfo->sType, is an invalid enumerator");
return false;
}
- if(pCreateInfo->pBindings != nullptr)
+ if(pCreateInfo->pBinding != nullptr)
{
- if(pCreateInfo->pBindings->descriptorType < VK_DESCRIPTOR_TYPE_BEGIN_RANGE ||
- pCreateInfo->pBindings->descriptorType > VK_DESCRIPTOR_TYPE_END_RANGE)
+ if(pCreateInfo->pBinding->descriptorType < VK_DESCRIPTOR_TYPE_BEGIN_RANGE ||
+ pCreateInfo->pBinding->descriptorType > VK_DESCRIPTOR_TYPE_END_RANGE)
{
log_msg(mdd(device), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK",
"vkCreateDescriptorSetLayout parameter, VkDescriptorType pCreateInfo->pBinding->descriptorType, is an unrecognized enumerator");
return false;
}
- if(pCreateInfo->pBindings->pImmutableSamplers != nullptr)
+ if(pCreateInfo->pBinding->pImmutableSamplers != nullptr)
{
}
}
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 1999aef..7e8bc37 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -149,7 +149,7 @@
loader_platform_thread_lock_mutex(&globalLock);
auto& bindings = my_data->descriptor_set_layout_map[*pSetLayout];
bindings = new std::vector<VkDescriptorSetLayoutBinding>(
- pCreateInfo->pBindings, pCreateInfo->pBindings + pCreateInfo->bindingCount);
+ pCreateInfo->pBinding, pCreateInfo->pBinding + pCreateInfo->bindingCount);
loader_platform_thread_unlock_mutex(&globalLock);
}
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index b9a3be2..07842c7 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -907,7 +907,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -1124,7 +1124,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
ASSERT_VK_SUCCESS(err);
@@ -1385,7 +1385,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -1485,7 +1485,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -1546,7 +1546,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -1661,7 +1661,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
ASSERT_VK_SUCCESS(err);
@@ -1826,7 +1826,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -1925,7 +1925,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -2047,7 +2047,7 @@
VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -2155,7 +2155,7 @@
VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -2262,7 +2262,7 @@
VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -2422,7 +2422,7 @@
VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -2867,7 +2867,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -2963,7 +2963,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -3060,7 +3060,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
ASSERT_VK_SUCCESS(err);
@@ -3155,7 +3155,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -3251,7 +3251,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
ASSERT_VK_SUCCESS(err);
@@ -3325,7 +3325,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
ASSERT_VK_SUCCESS(err);
@@ -3429,7 +3429,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 2;
- ds_layout_ci.pBindings = dsl_binding;
+ ds_layout_ci.pBinding = dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -3569,7 +3569,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -3660,7 +3660,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -3765,7 +3765,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
@@ -5477,7 +5477,7 @@
ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
ds_layout_ci.pNext = NULL;
ds_layout_ci.bindingCount = 1;
- ds_layout_ci.pBindings = &dsl_binding;
+ ds_layout_ci.pBinding = &dsl_binding;
VkDescriptorSetLayout ds_layout;
err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout);
ASSERT_VK_SUCCESS(err);
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index bd1a2b9..ef71756 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -516,7 +516,7 @@
VkDescriptorSetLayoutCreateInfo layout = {};
layout.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
layout.bindingCount = bindings.size();
- layout.pBindings = bindings.data();
+ layout.pBinding = bindings.data();
m_layout.init(*m_device, layout);
vector<const vk_testing::DescriptorSetLayout *> layouts;