Mesa (master): st/mesa: fix a crash due to passing a draw vertex shader into the driver

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 16 13:48:51 UTC 2020


Module: Mesa
Branch: master
Commit: 80797edd7193409d0109d4d3378dd1b8d2597f80
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=80797edd7193409d0109d4d3378dd1b8d2597f80

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>

---

 src/mesa/state_tracker/st_atom_shader.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c
index fde2eb55f62..e09be71f59c 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