Mesa (staging/20.0): st/mesa: fix a crash due to passing a draw vertex shader into the driver
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Apr 20 18:56:30 UTC 2020
Module: Mesa
Branch: staging/20.0
Commit: feb2f12db8bc3aa710bb9d457f0e7176e7c0b490
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=feb2f12db8bc3aa710bb9d457f0e7176e7c0b490
Author: Marek Olšák <marek.olsak at amd.com>
Date: Sat Apr 11 18:06:27 2020 -0400
st/mesa: fix a crash due to passing a draw vertex shader into the driver
Fixes: bc99b22a305be5e5a5f
Closes: #2754
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4527>
(cherry picked from commit 80797edd7193409d0109d4d3378dd1b8d2597f80)
---
.pick_status.json | 2 +-
src/mesa/state_tracker/st_atom_shader.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/.pick_status.json b/.pick_status.json
index b1106b6ace6..c7c9c5ff651 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1174,7 +1174,7 @@
"description": "st/mesa: fix a crash due to passing a draw vertex shader into the driver",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "bc99b22a305be5e5a5f8fdbf57105d220cf4b0ab"
},
diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c
index e47124b122f..4fcb3f57604 100644
--- a/src/mesa/state_tracker/st_atom_shader.c
+++ b/src/mesa/state_tracker/st_atom_shader.c
@@ -187,7 +187,8 @@ st_update_vp( struct st_context *st )
if (st->shader_has_one_variant[MESA_SHADER_VERTEX] &&
stvp->variants &&
- st_common_variant(stvp->variants)->key.passthrough_edgeflags == st->vertdata_edgeflags) {
+ st_common_variant(stvp->variants)->key.passthrough_edgeflags == st->vertdata_edgeflags &&
+ !st_common_variant(stvp->variants)->key.is_draw_shader) {
st->vp_variant = st_common_variant(stvp->variants);
} else {
struct st_common_variant_key key;
More information about the mesa-commit
mailing list