diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index 00d5bb6e3ef..000020e597b 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -263,8 +263,8 @@ equals_descriptor_layout(const void *a, const void *b) !memcmp(a_k->bindings, b_k->bindings, a_k->num_descriptors * sizeof(VkDescriptorSetLayoutBinding)); } -static VkDescriptorSetLayout -descriptor_layout_get(struct zink_context *ctx, enum zink_descriptor_type type, +VkDescriptorSetLayout +zink_descriptor_util_layout_get(struct zink_context *ctx, enum zink_descriptor_type type, VkDescriptorSetLayoutBinding *bindings, unsigned num_bindings, struct zink_descriptor_layout_key **layout_key) { @@ -757,10 +757,10 @@ zink_descriptor_program_init(struct zink_context *ctx, VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_COMPUTE_BIT; VkDescriptorPoolSize null_size = {VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, ZINK_DEFAULT_MAX_DESCS}; - pg->dsl[i] = descriptor_layout_get(ctx, i, &null_binding, 0, &layout_key); + pg->dsl[i] = zink_descriptor_util_layout_get(ctx, i, &null_binding, 0, &layout_key); pool = descriptor_pool_get(ctx, i, layout_key, &null_size, 1); if (!pool) - pg->dsl[i] = descriptor_layout_get(ctx, i, &null_binding, 1, &layout_key); + pg->dsl[i] = zink_descriptor_util_layout_get(ctx, i, &null_binding, 1, &layout_key); if (!pg->dsl[i]) return false; zink_descriptor_pool_reference(zink_screen(ctx->base.screen), &pg->dd->pool[i], pool); @@ -808,7 +808,7 @@ zink_descriptor_program_init(struct zink_context *ctx, } break; } - pg->dsl[i] = descriptor_layout_get(ctx, i, bindings[i], num_bindings[i], &layout_key); + pg->dsl[i] = zink_descriptor_util_layout_get(ctx, i, bindings[i], num_bindings[i], &layout_key); if (!pg->dsl[i]) return false; pool = descriptor_pool_get(ctx, i, layout_key, type_sizes, num_type_sizes); diff --git a/src/gallium/drivers/zink/zink_descriptors.h b/src/gallium/drivers/zink/zink_descriptors.h index b1096fd0a9a..6562a2586a7 100644 --- a/src/gallium/drivers/zink/zink_descriptors.h +++ b/src/gallium/drivers/zink/zink_descriptors.h @@ -151,6 +151,10 @@ bool zink_descriptor_program_init(struct zink_context *ctx, struct zink_shader *stages[ZINK_SHADER_COUNT], struct zink_program *pg); +VkDescriptorSetLayout +zink_descriptor_util_layout_get(struct zink_context *ctx, enum zink_descriptor_type type, + VkDescriptorSetLayoutBinding *bindings, unsigned num_bindings, + struct zink_descriptor_layout_key **layout_key); void zink_descriptor_program_deinit(struct zink_screen *screen, struct zink_program *pg);