From: Mike Blumenkrantz Date: Fri, 21 May 2021 20:45:08 +0000 (-0400) Subject: zink: clamp descriptor allocation bucket sizing to defined limit X-Git-Tag: upstream/22.3.5~20006 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=559e009af19c26b534bc1dec35f8ff0488e83982;p=platform%2Fupstream%2Fmesa.git zink: clamp descriptor allocation bucket sizing to defined limit Reviewed-by: Dave Airlie Part-of: --- diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index 71f4291..7c312e5 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -609,6 +609,8 @@ allocate_desc_set(struct zink_context *ctx, struct zink_program *pg, enum zink_d for (unsigned desc_factor = DESC_BUCKET_FACTOR; desc_factor < descs_used; desc_factor *= DESC_BUCKET_FACTOR) bucket_size = desc_factor; } + /* never grow more than this many at a time */ + bucket_size = MIN2(bucket_size, ZINK_DEFAULT_MAX_DESCS); VkDescriptorSet *desc_set = alloca(sizeof(*desc_set) * bucket_size); if (!zink_descriptor_util_alloc_sets(screen, push_set ? ctx->dd->push_dsl[is_compute]->layout : pg->dsl[type + 1], pool->descpool, desc_set, bucket_size)) return VK_NULL_HANDLE;