Module: Mesa Branch: main Commit: ed3ed466c42a18e97d1c19299c0103fc2379a70b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed3ed466c42a18e97d1c19299c0103fc2379a70b
Author: Jason Ekstrand <[email protected]> Date: Mon Apr 18 12:26:40 2022 -0500 mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS 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 <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988> --- 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.
