[Mesa-dev] [PATCH 2/2] mesa/st: implement max combined output resources limiting.

Dave Airlie airlied at gmail.com
Tue Oct 31 23:58:42 UTC 2017


From: Dave Airlie <airlied at redhat.com>

if the driver sets the cap, then use the value it gives us.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 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.9.5



More information about the mesa-dev mailing list