zink: add flags param to zink_pipeline_layout_create()

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197>
This commit is contained in:
Mike Blumenkrantz 2023-02-06 13:33:43 -05:00 committed by Marge Bot
parent bdb97b3f20
commit 5ae973c7d3
4 changed files with 6 additions and 5 deletions

View file

@ -550,7 +550,7 @@ zink_descriptor_program_init(struct zink_context *ctx, struct zink_program *pg)
}
pg->dd.binding_usage = has_bindings;
if (!has_bindings && !push_count && !pg->dd.bindless) {
pg->layout = zink_pipeline_layout_create(screen, pg->dsl, pg->num_dsl, pg->is_compute);
pg->layout = zink_pipeline_layout_create(screen, pg->dsl, pg->num_dsl, pg->is_compute, 0);
if (pg->layout)
pg->compat_id = _mesa_hash_data(pg->dsl, pg->num_dsl * sizeof(pg->dsl[0]));
return !!pg->layout;
@ -618,7 +618,7 @@ zink_descriptor_program_init(struct zink_context *ctx, struct zink_program *pg)
pg->dd.binding_usage |= BITFIELD_MASK(ZINK_DESCRIPTOR_BASE_TYPES);
}
pg->layout = zink_pipeline_layout_create(screen, pg->dsl, pg->num_dsl, pg->is_compute);
pg->layout = zink_pipeline_layout_create(screen, pg->dsl, pg->num_dsl, pg->is_compute, 0);
if (!pg->layout)
return false;
pg->compat_id = _mesa_hash_data(pg->dsl, pg->num_dsl * sizeof(pg->dsl[0]));

View file

@ -819,10 +819,11 @@ zink_update_compute_program(struct zink_context *ctx)
}
VkPipelineLayout
zink_pipeline_layout_create(struct zink_screen *screen, VkDescriptorSetLayout *dsl, unsigned num_dsl, bool is_compute)
zink_pipeline_layout_create(struct zink_screen *screen, VkDescriptorSetLayout *dsl, unsigned num_dsl, bool is_compute, VkPipelineLayoutCreateFlags flags)
{
VkPipelineLayoutCreateInfo plci = {0};
plci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
plci.flags = flags;
plci.pSetLayouts = dsl;
plci.setLayoutCount = num_dsl;

View file

@ -223,7 +223,7 @@ zink_program_reference(struct zink_screen *screen,
}
VkPipelineLayout
zink_pipeline_layout_create(struct zink_screen *screen, VkDescriptorSetLayout *dsl, unsigned num_dsl, bool is_compute);
zink_pipeline_layout_create(struct zink_screen *screen, VkDescriptorSetLayout *dsl, unsigned num_dsl, bool is_compute, VkPipelineLayoutCreateFlags flags);
void
zink_program_update_compute_pipeline_state(struct zink_context *ctx, struct zink_compute_program *comp, const uint block[3]);

View file

@ -2596,7 +2596,7 @@ init_layouts(struct zink_screen *screen)
}
}
screen->gfx_push_constant_layout = zink_pipeline_layout_create(screen, NULL, 0, false);
screen->gfx_push_constant_layout = zink_pipeline_layout_create(screen, NULL, 0, false, 0);
return !!screen->gfx_push_constant_layout;
}