From: Dave Airlie Date: Tue, 31 Oct 2017 23:54:27 +0000 (+1000) Subject: mesa/st: implement max combined output resources limiting. X-Git-Tag: android-x86-8.1-r1~8482 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=57892a23be9058b535072ce03dc155f42db02be4;p=android-x86%2Fexternal-mesa.git 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 --- diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 3dec5a87d73..fa2d0029e58 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; }