Mesa (staging/21.0): gallium/st: fix shader_has_one_variant

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Mar 18 16:39:24 UTC 2021


Module: Mesa
Branch: staging/21.0
Commit: d3887f23bea2af461bd5df8cc10f4a05e53d9c7d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3887f23bea2af461bd5df8cc10f4a05e53d9c7d

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Tue Mar 16 18:43:37 2021 +0100

gallium/st: fix shader_has_one_variant

I think we need to care about this here as well, otherwise the variant
logic might be short-circuited.

Fixes: ad0037fcfe1 ("mesa/st: set lower_point_size for tes/gs during program update")
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9631>
(cherry picked from commit bdfe0e3ef430f756e482384779b75e0ed153396c)

---

 .pick_status.json                   | 2 +-
 src/mesa/state_tracker/st_context.c | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index f01e058772f..d57209eb69d 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -85,7 +85,7 @@
         "description": "gallium/st: fix shader_has_one_variant",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "ad0037fcfe19655e9cee7c0bed80adc6c0dc967a"
     },
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 2bc2bb10f3a..38d192bd3ec 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -809,11 +809,14 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
    st->shader_has_one_variant[MESA_SHADER_TESS_EVAL] =
          st->has_shareable_shaders &&
          !st->clamp_frag_depth_in_shader &&
-         !st->clamp_vert_color_in_shader;
+         !st->clamp_vert_color_in_shader &&
+         !st->lower_point_size;
+
    st->shader_has_one_variant[MESA_SHADER_GEOMETRY] =
          st->has_shareable_shaders &&
          !st->clamp_frag_depth_in_shader &&
          !st->clamp_vert_color_in_shader &&
+         !st->lower_point_size &&
          !st->lower_ucp;
    st->shader_has_one_variant[MESA_SHADER_COMPUTE] = st->has_shareable_shaders;
 



More information about the mesa-commit mailing list