radv: add support for 32 descriptor sets.

This bumps the limit to the number of sets to 32, now that
we have proper support for it. It also uses 1u in a few places
to make things a bit safer.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie
2017-04-18 13:22:32 +10:00
parent 25a5ee391d
commit fd420a7417
2 changed files with 7 additions and 7 deletions

View File

@@ -1381,7 +1381,7 @@ radv_flush_descriptors(struct radv_cmd_buffer *cmd_buffer,
} }
for (i = 0; i < MAX_SETS; i++) { for (i = 0; i < MAX_SETS; i++) {
if (!(cmd_buffer->state.descriptors_dirty & (1 << i))) if (!(cmd_buffer->state.descriptors_dirty & (1u << i)))
continue; continue;
struct radv_descriptor_set *set = cmd_buffer->state.descriptors[i]; struct radv_descriptor_set *set = cmd_buffer->state.descriptors[i];
if (!set) if (!set)
@@ -1957,7 +1957,7 @@ void radv_bind_descriptor_set(struct radv_cmd_buffer *cmd_buffer,
struct radeon_winsys *ws = cmd_buffer->device->ws; struct radeon_winsys *ws = cmd_buffer->device->ws;
cmd_buffer->state.descriptors[idx] = set; cmd_buffer->state.descriptors[idx] = set;
cmd_buffer->state.descriptors_dirty |= (1 << idx); cmd_buffer->state.descriptors_dirty |= (1u << idx);
if (!set) if (!set)
return; return;
@@ -2067,7 +2067,7 @@ void radv_meta_push_descriptor_set(
descriptorWriteCount, pDescriptorWrites, 0, NULL); descriptorWriteCount, pDescriptorWrites, 0, NULL);
cmd_buffer->state.descriptors[set] = push_set; cmd_buffer->state.descriptors[set] = push_set;
cmd_buffer->state.descriptors_dirty |= (1 << set); cmd_buffer->state.descriptors_dirty |= (1u << set);
} }
void radv_CmdPushDescriptorSetKHR( void radv_CmdPushDescriptorSetKHR(
@@ -2092,7 +2092,7 @@ void radv_CmdPushDescriptorSetKHR(
descriptorWriteCount, pDescriptorWrites, 0, NULL); descriptorWriteCount, pDescriptorWrites, 0, NULL);
cmd_buffer->state.descriptors[set] = push_set; cmd_buffer->state.descriptors[set] = push_set;
cmd_buffer->state.descriptors_dirty |= (1 << set); cmd_buffer->state.descriptors_dirty |= (1u << set);
cmd_buffer->state.push_descriptors_dirty = true; cmd_buffer->state.push_descriptors_dirty = true;
} }
@@ -2116,7 +2116,7 @@ void radv_CmdPushDescriptorSetWithTemplateKHR(
descriptorUpdateTemplate, pData); descriptorUpdateTemplate, pData);
cmd_buffer->state.descriptors[set] = push_set; cmd_buffer->state.descriptors[set] = push_set;
cmd_buffer->state.descriptors_dirty |= (1 << set); cmd_buffer->state.descriptors_dirty |= (1u << set);
cmd_buffer->state.push_descriptors_dirty = true; cmd_buffer->state.push_descriptors_dirty = true;
} }
@@ -2207,7 +2207,7 @@ void radv_CmdBindPipeline(
for (unsigned i = 0; i < MAX_SETS; i++) { for (unsigned i = 0; i < MAX_SETS; i++) {
if (cmd_buffer->state.descriptors[i]) if (cmd_buffer->state.descriptors[i])
cmd_buffer->state.descriptors_dirty |= (1 << i); cmd_buffer->state.descriptors_dirty |= (1u << i);
} }
switch (pipelineBindPoint) { switch (pipelineBindPoint) {

View File

@@ -26,7 +26,7 @@
#include <vulkan/vulkan.h> #include <vulkan/vulkan.h>
#define MAX_SETS 8 #define MAX_SETS 32
struct radv_descriptor_set_binding_layout { struct radv_descriptor_set_binding_layout {
VkDescriptorType type; VkDescriptorType type;