Bug 14583: Remove VkBufferView for UBO/SSBO descriptor types
For descriptor types:
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
No longer need to create a VkBufferView, instead can
put the buffer, offset and range directly into a descriptor.
Many places in the driver assumed it could point to a persistent
buffer view and that is no longer the case. Now cache the
view info rather than a pointer to deal with that.
diff --git a/include/vulkan.h b/include/vulkan.h
index 15e96c1..c031488 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -1779,10 +1779,17 @@
} VkDescriptorPoolCreateInfo;
typedef struct {
+ VkBuffer buffer;
+ VkDeviceSize offset;
+ VkDeviceSize range;
+} VkShaderBufferInfo;
+
+typedef struct {
VkBufferView bufferView;
VkSampler sampler;
VkImageView imageView;
VkImageLayout imageLayout;
+ VkShaderBufferInfo shaderBuffer;
} VkDescriptorInfo;
typedef struct {