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;