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 <marek.olsak@amd.com> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988>
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user