radv: Remove binding buffer count.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 17 Apr 2017 10:22:02 +0000 (12:22 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 19 Apr 2017 18:37:57 +0000 (20:37 +0200)
In cases where it is used it is always 1.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Bas Nieuwenhuizen <basni@google.com>
src/amd/vulkan/radv_descriptor_set.c
src/amd/vulkan/radv_descriptor_set.h
src/amd/vulkan/radv_private.h

index 1bb37aad17b082827e993bafc4da939f716613bc..b608063d0706afe533cacb493738dc5322a220fe 100644 (file)
@@ -77,6 +77,7 @@ VkResult radv_CreateDescriptorSetLayout(
                const VkDescriptorSetLayoutBinding *binding = &pCreateInfo->pBindings[j];
                uint32_t b = binding->binding;
                uint32_t alignment;
+               unsigned binding_buffer_count = 0;
 
                switch (binding->descriptorType) {
                case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
@@ -85,7 +86,7 @@ VkResult radv_CreateDescriptorSetLayout(
                        set_layout->binding[b].dynamic_offset_count = 1;
                        set_layout->dynamic_shader_stages |= binding->stageFlags;
                        set_layout->binding[b].size = 0;
-                       set_layout->binding[b].buffer_count = 1;
+                       binding_buffer_count = 1;
                        alignment = 1;
                        break;
                case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
@@ -93,7 +94,7 @@ VkResult radv_CreateDescriptorSetLayout(
                case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
                case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
                        set_layout->binding[b].size = 16;
-                       set_layout->binding[b].buffer_count = 1;
+                       binding_buffer_count = 1;
                        alignment = 16;
                        break;
                case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
@@ -101,13 +102,13 @@ VkResult radv_CreateDescriptorSetLayout(
                case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
                        /* main descriptor + fmask descriptor */
                        set_layout->binding[b].size = 64;
-                       set_layout->binding[b].buffer_count = 1;
+                       binding_buffer_count = 1;
                        alignment = 32;
                        break;
                case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
                        /* main descriptor + fmask descriptor + sampler */
                        set_layout->binding[b].size = 96;
-                       set_layout->binding[b].buffer_count = 1;
+                       binding_buffer_count = 1;
                        alignment = 32;
                        break;
                case VK_DESCRIPTOR_TYPE_SAMPLER:
@@ -150,7 +151,7 @@ VkResult radv_CreateDescriptorSetLayout(
                }
 
                set_layout->size += binding->descriptorCount * set_layout->binding[b].size;
-               buffer_count += binding->descriptorCount * set_layout->binding[b].buffer_count;
+               buffer_count += binding->descriptorCount * binding_buffer_count;
                dynamic_offset_count += binding->descriptorCount *
                        set_layout->binding[b].dynamic_offset_count;
                set_layout->shader_stages |= binding->stageFlags;
@@ -669,7 +670,7 @@ void radv_update_descriptor_sets(
                ptr += binding_layout->offset / 4;
                ptr += binding_layout->size * writeset->dstArrayElement / 4;
                buffer_list += binding_layout->buffer_offset;
-               buffer_list += binding_layout->buffer_count * writeset->dstArrayElement;
+               buffer_list += writeset->dstArrayElement;
                for (j = 0; j < writeset->descriptorCount; ++j) {
                        switch(writeset->descriptorType) {
                        case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
@@ -720,7 +721,7 @@ void radv_update_descriptor_sets(
                                break;
                        }
                        ptr += binding_layout->size / 4;
-                       buffer_list += binding_layout->buffer_count;
+                       ++buffer_list;
                }
 
        }
@@ -764,8 +765,7 @@ VkResult radv_CreateDescriptorUpdateTemplateKHR(VkDevice _device,
                const VkDescriptorUpdateTemplateEntryKHR *entry = &pCreateInfo->pDescriptorUpdateEntries[i];
                const struct radv_descriptor_set_binding_layout *binding_layout =
                        set_layout->binding + entry->dstBinding;
-               const uint32_t buffer_offset = binding_layout->buffer_offset +
-                       binding_layout->buffer_count * entry->dstArrayElement;
+               const uint32_t buffer_offset = binding_layout->buffer_offset + entry->dstArrayElement;
                const uint32_t *immutable_samplers = NULL;
                uint32_t dst_offset;
                uint32_t dst_stride;
@@ -805,7 +805,6 @@ VkResult radv_CreateDescriptorUpdateTemplateKHR(VkDevice _device,
                        .dst_offset = dst_offset,
                        .dst_stride = dst_stride,
                        .buffer_offset = buffer_offset,
-                       .buffer_count = binding_layout->buffer_count,
                        .has_sampler = !binding_layout->immutable_samplers_offset,
                        .immutable_samplers = immutable_samplers
                };
@@ -889,7 +888,7 @@ void radv_update_descriptor_set_with_template(struct radv_device *device,
                        }
                        pSrc += templ->entry[i].src_stride;
                        pDst += templ->entry[i].dst_stride;
-                       buffer_list += templ->entry[i].buffer_count;
+                       ++buffer_list;
                }
        }
 }
index a90eb5c307634348f46be213a1d632f358375b36..3aa07511d6256265bf914504403e1090927d4a24 100644 (file)
@@ -40,7 +40,6 @@ struct radv_descriptor_set_binding_layout {
 
    /* redundant with the type, each for a single array element */
    uint32_t size;
-   uint32_t buffer_count;
    uint16_t dynamic_offset_count;
 
    /* Offset in the radv_descriptor_set_layout of the immutable samplers, or 0
index 387edb8f2b4b733d219e992b7d41e4eac9589507..78a0d6fee7d62b89dd5c374b9368c3ae385ce17a 100644 (file)
@@ -589,7 +589,6 @@ struct radv_descriptor_update_template_entry {
        uint32_t dst_stride;
 
        uint32_t buffer_offset;
-       uint32_t buffer_count;
 
        /* Only valid for combined image samplers and samplers */
        uint16_t has_sampler;