From 57892a23be9058b535072ce03dc155f42db02be4 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 1 Nov 2017 09:54:27 +1000 Subject: [PATCH] mesa/st: implement max combined output resources limiting. if the driver sets the cap, then use the value it gives us. Reviewed-by: Ilia Mirkin Signed-off-by: Dave Airlie --- src/mesa/state_tracker/st_extensions.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 3dec5a8..fa2d002 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -78,6 +78,7 @@ void st_init_limits(struct pipe_screen *screen, int supported_irs; unsigned sh; boolean can_ubo = TRUE; + int temp; c->MaxTextureLevels = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS), @@ -469,6 +470,11 @@ void st_init_limits(struct pipe_screen *screen, c->UseSTD430AsDefaultPacking = screen->get_param(screen, PIPE_CAP_LOAD_CONSTBUF); + + /* limit the max combined shader output resources to a driver limit */ + temp = screen->get_param(screen, PIPE_CAP_MAX_COMBINED_SHADER_OUTPUT_RESOURCES); + if (temp > 0 && c->MaxCombinedShaderOutputResources > temp) + c->MaxCombinedShaderOutputResources = temp; } -- 2.7.4