From c4446098cf587f0cd7259dd0cca0b227a17bb82c Mon Sep 17 00:00:00 2001 From: Duncan Hopkins Date: Thu, 26 Sep 2019 12:25:26 +0100 Subject: [PATCH] zink: limited uniform buffer size so the limits is not exceeded. Acked-by: Jordan Justen --- src/gallium/drivers/zink/zink_context.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index f5fefa7..773bc09 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -1010,11 +1010,12 @@ zink_draw_vbo(struct pipe_context *pctx, int index = shader->bindings[j].index; if (shader->bindings[j].type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER) { assert(ctx->ubos[i][index].buffer_size > 0); + assert(ctx->ubos[i][index].buffer_size <= screen->props.limits.maxUniformBufferRange); assert(ctx->ubos[i][index].buffer); struct zink_resource *res = zink_resource(ctx->ubos[i][index].buffer); buffer_infos[num_buffer_info].buffer = res->buffer; buffer_infos[num_buffer_info].offset = ctx->ubos[i][index].buffer_offset; - buffer_infos[num_buffer_info].range = VK_WHOLE_SIZE; + buffer_infos[num_buffer_info].range = ctx->ubos[i][index].buffer_size; wds[num_wds].pBufferInfo = buffer_infos + num_buffer_info; ++num_buffer_info; } else { -- 2.7.4