From ed3ed466c42a18e97d1c19299c0103fc2379a70b Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 18 Apr 2022 12:26:40 -0500 Subject: [PATCH] mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We're about to bump PIPE_MAX_SHADER_IMAGES to 64 and don't want to overflow any state tracker arrays for GL. Reviewed-by: Marek Olšák Reviewed-by: Karol Herbst Part-of: --- src/mesa/state_tracker/st_extensions.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 251c5d5ab06..8720ac6ca91 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -290,8 +290,10 @@ void st_init_limits(struct pipe_screen *screen, pc->MaxAtomicBuffers = pc->MaxShaderStorageBlocks / 2; pc->MaxShaderStorageBlocks -= pc->MaxAtomicBuffers; } - pc->MaxImageUniforms = screen->get_shader_param( - screen, sh, PIPE_SHADER_CAP_MAX_SHADER_IMAGES); + pc->MaxImageUniforms = + _min(screen->get_shader_param(screen, sh, + PIPE_SHADER_CAP_MAX_SHADER_IMAGES), + MAX_IMAGE_UNIFORMS); /* Gallium doesn't really care about local vs. env parameters so use the * same limits.