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