anv: bump internal descriptor index fields to 32bits

Graphics / Mesa 3D Graphics Library / Mesa - Lionel Landwerlin [intel.com] - 14 April 2021 18:52 UTC

Prior to supporting VK_EXT_descriptor_indexing all of our descriptor limits where below 64k which fitted a uint16_t. Now all of those can go up to 2^20 entries so we need 32bits indexes to keep track of them.

This change leaves the dynamic indexes at 16bits. We could arguably bump them too, up to the reviewer's taste.

###

diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 35bc5ba0cdf..44ce29127f8 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1834,16 +1834,16 @@ struct anv_descriptor_set_binding_layout {
/* Number of array elements in this binding (or size in bytes for inline
* uniform data)
*/
- uint16_t array_size;
+ uint32_t array_size;

/* Index into the flattend descriptor set */
- uint16_t descriptor_index;
+ uint32_t descriptor_index;

/* Index into the dynamic state array for a dynamic buffer */
int16_t dynamic_offset_index;

/* Index into the descriptor set buffer views */
- int16_t buffer_view_index;
+ int32_t buffer_view_index;

/* Offset into the descriptor buffer where this descriptor lives */
uint32_t descriptor_offset;
@@ -1872,16 +1872,16 @@ struct anv_descriptor_set_layout {
uint32_t ref_cnt;

/* Number of bindings in this descriptor set */
- uint16_t binding_count;
+ uint32_t binding_count;

/* Total number of descriptors */
- uint16_t descriptor_count;
+ uint32_t descriptor_count;

/* Shader stages affected by this descriptor set */
uint16_t shader_stages;

/* Number of buffer views in this descriptor set */
- uint16_t buffer_view_count;
+ uint32_t buffer_view_count;

/* Number of dynamic offsets used by this descriptor set */
uint16_t dynamic_offset_count;

23c4b59b46e anv: bump internal descriptor index fields to 32bits
src/intel/vulkan/anv_private.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

Upstream: cgit.freedesktop.org


  • Share