bug-14827: Make DescriptorInfo a union of bufferInfo, imageInfo, and bufferView
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index ad7700b..3863611 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -2796,7 +2796,7 @@
VkDescriptorInfo descriptor_info;
memset(&descriptor_info, 0, sizeof(descriptor_info));
- descriptor_info.sampler = sampler;
+ descriptor_info.imageInfo.sampler = sampler;
VkWriteDescriptorSet descriptor_write;
memset(&descriptor_write, 0, sizeof(descriptor_write));
@@ -2890,7 +2890,7 @@
VkDescriptorInfo descriptor_info;
memset(&descriptor_info, 0, sizeof(descriptor_info));
- descriptor_info.sampler = sampler;
+ descriptor_info.imageInfo.sampler = sampler;
VkWriteDescriptorSet descriptor_write;
memset(&descriptor_write, 0, sizeof(descriptor_write));
@@ -2984,7 +2984,7 @@
VkDescriptorInfo descriptor_info;
memset(&descriptor_info, 0, sizeof(descriptor_info));
- descriptor_info.sampler = sampler;
+ descriptor_info.imageInfo.sampler = sampler;
VkWriteDescriptorSet descriptor_write;
memset(&descriptor_write, 0, sizeof(descriptor_write));
@@ -3079,7 +3079,7 @@
VkDescriptorInfo descriptor_info;
memset(&descriptor_info, 0, sizeof(descriptor_info));
- descriptor_info.sampler = sampler;
+ descriptor_info.imageInfo.sampler = sampler;
VkWriteDescriptorSet descriptor_write;
memset(&descriptor_write, 0, sizeof(descriptor_write));
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 2876d45..aa29ab1 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -475,7 +475,7 @@
m_type_counts.push_back(tc);
VkDescriptorInfo tmp = texture->m_descriptorInfo;
- tmp.sampler = sampler->handle();
+ tmp.imageInfo.sampler = sampler->handle();
m_imageSamplerDescriptors.push_back(tmp);
m_writes.push_back(vk_testing::Device::write_descriptor_set(vk_testing::DescriptorSet(),
@@ -552,8 +552,8 @@
VkImageObj::VkImageObj(VkDeviceObj *dev)
{
m_device = dev;
- m_descriptorInfo.imageView = VK_NULL_HANDLE;
- m_descriptorInfo.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
+ m_descriptorInfo.imageInfo.imageView = VK_NULL_HANDLE;
+ m_descriptorInfo.imageInfo.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
}
void VkImageObj::ImageMemoryBarrier(
@@ -613,7 +613,7 @@
VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
VK_MEMORY_INPUT_TRANSFER_BIT;
- if (image_layout == m_descriptorInfo.imageLayout) {
+ if (image_layout == m_descriptorInfo.imageInfo.imageLayout) {
return;
}
@@ -640,7 +640,7 @@
}
ImageMemoryBarrier(cmd_buf, aspect, output_mask, input_mask, image_layout);
- m_descriptorInfo.imageLayout = image_layout;
+ m_descriptorInfo.imageInfo.imageLayout = image_layout;
}
void VkImageObj::SetLayout(VkImageAspectFlagBits aspect,
@@ -648,7 +648,7 @@
{
VkResult U_ASSERT_ONLY err;
- if (image_layout == m_descriptorInfo.imageLayout) {
+ if (image_layout == m_descriptorInfo.imageInfo.imageLayout) {
return;
}
@@ -835,7 +835,7 @@
/* create image view */
view.image = handle();
m_textureView.init(*m_device, view);
- m_descriptorInfo.imageView = m_textureView.handle();
+ m_descriptorInfo.imageInfo.imageView = m_textureView.handle();
data = stagingImage.MapMemory();
@@ -1011,23 +1011,18 @@
void VkIndexBufferObj::CreateAndInitBuffer(int numIndexes, VkIndexType indexType, const void* data)
{
- VkFormat viewFormat;
-
m_numVertices = numIndexes;
m_indexType = indexType;
switch (indexType) {
case VK_INDEX_TYPE_UINT16:
m_stride = 2;
- viewFormat = VK_FORMAT_R16_UINT;
break;
case VK_INDEX_TYPE_UINT32:
m_stride = 4;
- viewFormat = VK_FORMAT_R32_UINT;
break;
default:
assert(!"unknown index type");
m_stride = 2;
- viewFormat = VK_FORMAT_R16_UINT;
break;
}
@@ -1039,16 +1034,10 @@
memcpy(pData, data, allocationSize);
memory().unmap();
- // set up the buffer view for the constant buffer
- VkBufferViewCreateInfo view_info = {};
- view_info.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
- view_info.buffer = handle();
- view_info.format = viewFormat;
- view_info.offset = 0;
- view_info.range = allocationSize;
- m_bufferView.init(*m_device, view_info);
-
- this->m_descriptorInfo.bufferView = m_bufferView.handle();
+ // set up the descriptor for the constant buffer
+ this->m_descriptorInfo.bufferInfo.buffer = handle();
+ this->m_descriptorInfo.bufferInfo.offset = 0;
+ this->m_descriptorInfo.bufferInfo.range = allocationSize;
}
void VkIndexBufferObj::Bind(VkCmdBuffer cmdBuffer, VkDeviceSize offset)
diff --git a/tests/vkrenderframework.h b/tests/vkrenderframework.h
index c6914a2..24f4071 100644
--- a/tests/vkrenderframework.h
+++ b/tests/vkrenderframework.h
@@ -273,7 +273,7 @@
void layout( VkImageLayout layout )
{
- m_descriptorInfo.imageLayout = layout;
+ m_descriptorInfo.imageInfo.imageLayout = layout;
}
VkDeviceMemory memory() const
@@ -329,7 +329,7 @@
VkImageLayout layout() const
{
- return m_descriptorInfo.imageLayout;
+ return m_descriptorInfo.imageInfo.imageLayout;
}
uint32_t width() const
{