diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 940e7244762..cd101c5a510 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -794,7 +794,7 @@ anv_cmd_buffer_bind_descriptor_set(struct anv_cmd_buffer *cmd_buffer, anv_cmd_buffer_maybe_dirty_descriptor_mode( cmd_buffer, - (set->layout->flags & + (set->layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT) != 0 ? ANV_CMD_DESCRIPTOR_BUFFER_MODE_BUFFER : ANV_CMD_DESCRIPTOR_BUFFER_MODE_LEGACY); @@ -813,7 +813,8 @@ anv_cmd_buffer_bind_descriptor_set(struct anv_cmd_buffer *cmd_buffer, anv_descriptor_set_is_push(set)) { pipe_state->descriptors[set_index] = set; - if (set->layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT) { + if (set->layout->vk.flags & + VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT) { assert(set->is_push); pipe_state->descriptor_buffers[set_index].buffer_index = -1; diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index 94f1eec1c7e..79ab96d96e9 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -440,7 +440,7 @@ anv_descriptor_supports_bindless(const struct anv_physical_device *pdevice, const struct anv_descriptor_set_layout *set, const struct anv_descriptor_set_binding_layout *binding) { - return anv_descriptor_data_supports_bindless(pdevice, set->flags, binding->data); + return anv_descriptor_data_supports_bindless(pdevice, set->vk.flags, binding->data); } bool @@ -451,11 +451,11 @@ anv_descriptor_requires_bindless(const struct anv_physical_device *pdevice, if (pdevice->instance->debug & ANV_DEBUG_BINDLESS) return anv_descriptor_supports_bindless(pdevice, set, binding); - if (set->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR) + if (set->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR) return false; - if (set->flags & (VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT | - VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT)) + if (set->vk.flags & (VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT | + VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT)) return true; static const VkDescriptorBindingFlagBits flags_requiring_bindless = @@ -669,7 +669,7 @@ blake3_hash_descriptor_set_layout(struct anv_descriptor_set_layout *layout) struct mesa_blake3 ctx; _mesa_blake3_init(&ctx); - BLAKE3_UPDATE_VALUE(&ctx, layout->flags); + BLAKE3_UPDATE_VALUE(&ctx, layout->vk.flags); BLAKE3_UPDATE_VALUE(&ctx, layout->binding_count); BLAKE3_UPDATE_VALUE(&ctx, layout->descriptor_count); BLAKE3_UPDATE_VALUE(&ctx, layout->shader_stages); @@ -679,7 +679,7 @@ blake3_hash_descriptor_set_layout(struct anv_descriptor_set_layout *layout) BLAKE3_UPDATE_VALUE(&ctx, layout->descriptor_buffer_sampler_size); bool embedded_samplers = - layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT; + layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT; for (uint16_t i = 0; i < layout->binding_count; i++) { blake3_update_descriptor_set_binding_layout(&ctx, embedded_samplers, @@ -737,7 +737,6 @@ VkResult anv_CreateDescriptorSetLayout( return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY); set_layout->binding_count = num_bindings; - set_layout->flags = pCreateInfo->flags; set_layout->type = anv_descriptor_set_layout_type_for_flags(device->physical, pCreateInfo); @@ -1143,7 +1142,7 @@ anv_pipeline_sets_layout_add(struct anv_pipeline_sets_layout *layout, assert(layout->num_dynamic_buffers < MAX_DYNAMIC_BUFFERS); - if (set_layout->flags & + if (set_layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR) { assert(layout->push_descriptor_set_index == -1); layout->push_descriptor_set_index = set_idx; @@ -1203,7 +1202,7 @@ anv_pipeline_sets_layout_print(const struct anv_pipeline_sets_layout *layout) continue; fprintf(stderr, " set%i: dyn_start=%u flags=0x%x\n", - s, layout->set[s].dynamic_offset_start, layout->set[s].layout->flags); + s, layout->set[s].dynamic_offset_start, layout->set[s].layout->vk.flags); } } @@ -1967,7 +1966,7 @@ anv_push_descriptor_set_init(struct anv_cmd_buffer *cmd_buffer, struct anv_state_stream *push_stream; uint64_t push_base_address; - if (layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT) { + if (layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT) { push_stream = pdevice->uses_ex_bso ? &cmd_buffer->push_descriptor_buffer_stream : &cmd_buffer->surface_state_stream; @@ -2166,7 +2165,7 @@ anv_descriptor_set_write_image_view(struct anv_device *device, enum anv_descriptor_data data = bind_layout->type == VK_DESCRIPTOR_TYPE_MUTABLE_EXT ? anv_descriptor_data_for_type(device->physical, set->layout->type, - set->layout->flags, type) : + set->layout->vk.flags, type) : bind_layout->data; if (data & ANV_DESCRIPTOR_INDIRECT_SAMPLED_IMAGE) { @@ -2321,7 +2320,7 @@ anv_descriptor_set_write_buffer_view(struct anv_device *device, enum anv_descriptor_data data = bind_layout->type == VK_DESCRIPTOR_TYPE_MUTABLE_EXT ? anv_descriptor_data_for_type(device->physical, set->layout->type, - set->layout->flags, type) : + set->layout->vk.flags, type) : bind_layout->data; void *desc_map = set->desc_surface_mem.map + @@ -2411,7 +2410,7 @@ anv_descriptor_set_write_buffer(struct anv_device *device, enum anv_descriptor_data data = bind_layout->type == VK_DESCRIPTOR_TYPE_MUTABLE_EXT ? anv_descriptor_data_for_type(device->physical, set->layout->type, - set->layout->flags, type) : + set->layout->vk.flags, type) : bind_layout->data; void *desc_map = set->desc_surface_mem.map + @@ -2720,7 +2719,7 @@ void anv_UpdateDescriptorSets( src_layout->type == VK_DESCRIPTOR_TYPE_MUTABLE_EXT ? anv_descriptor_data_for_type(device->physical, src->layout->type, - src->layout->flags, + src->layout->vk.flags, src_desc->type) : src_layout->data; if (data & ANV_DESCRIPTOR_BUFFER_VIEW) { diff --git a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c index 6ce5765de3d..2f3ae143135 100644 --- a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c +++ b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c @@ -153,7 +153,8 @@ add_binding(struct apply_pipeline_layout_state *state, state->set[set].binding[binding].properties |= BINDING_PROPERTY_NORMAL; - if (set_layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT) + if (set_layout->vk.flags & + VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT) state->set[set].binding[binding].properties |= BINDING_PROPERTY_EMBEDDED_SAMPLER; return &state->set[set].binding[binding]; @@ -181,8 +182,8 @@ add_binding_type(struct apply_pipeline_layout_state *state, /* We can't push descriptor buffers but we can for push descriptors */ const bool is_set_pushable = - (set_layout->flags & non_pushable_set_flags) == 0 || - set_layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR; + (set_layout->vk.flags & non_pushable_set_flags) == 0 || + set_layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR; const bool is_binding_pushable = (bind_layout->flags & non_pushable_binding_flags) == 0; @@ -2177,11 +2178,12 @@ static bool binding_is_promotable_to_push(const struct anv_descriptor_set_layout *set_layout, const struct anv_descriptor_set_binding_layout *bind_layout) { - if (set_layout->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR) + if (set_layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR) return true; - if (set_layout->flags & (VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT | - VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT)) + if (set_layout->vk.flags & + (VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT | + VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT)) return false; return (bind_layout->flags & non_pushable_binding_flags) == 0; diff --git a/src/intel/vulkan/anv_nir_push_descriptor_analysis.c b/src/intel/vulkan/anv_nir_push_descriptor_analysis.c index c6dcb03769d..392d598a404 100644 --- a/src/intel/vulkan/anv_nir_push_descriptor_analysis.c +++ b/src/intel/vulkan/anv_nir_push_descriptor_analysis.c @@ -33,7 +33,7 @@ anv_pipeline_layout_get_push_set(const struct anv_pipeline_sets_layout *layout, struct anv_descriptor_set_layout *set_layout = layout->set[s].layout; if (!set_layout || - !(set_layout->flags & + !(set_layout->vk.flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR)) continue; diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 0541f45d476..478a79df018 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3021,8 +3021,6 @@ enum anv_descriptor_set_layout_type { struct anv_descriptor_set_layout { struct vk_descriptor_set_layout vk; - VkDescriptorSetLayoutCreateFlags flags; - /* Type of descriptor set layout */ enum anv_descriptor_set_layout_type type;