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;