Mesa (main): zink: call bind_last_vertex_stage() when binding vs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 20 13:38:07 UTC 2022
Module: Mesa
Branch: main
Commit: eaf11d3cd919790c7ca702181e5067ec2cef72e7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eaf11d3cd919790c7ca702181e5067ec2cef72e7
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Mon Jul 18 12:32:04 2022 -0400
zink: call bind_last_vertex_stage() when binding vs
ensure all the necessary updates are flagged
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639>
---
src/gallium/drivers/zink/zink_program.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c
index 730026bd25c..dfee6ff1d95 100644
--- a/src/gallium/drivers/zink/zink_program.c
+++ b/src/gallium/drivers/zink/zink_program.c
@@ -1008,8 +1008,8 @@ zink_bind_vs_state(struct pipe_context *pctx,
struct zink_context *ctx = zink_context(pctx);
if (!cso && !ctx->gfx_stages[PIPE_SHADER_VERTEX])
return;
- void *prev = ctx->gfx_stages[PIPE_SHADER_VERTEX];
bind_stage(ctx, PIPE_SHADER_VERTEX, cso);
+ bind_last_vertex_stage(ctx);
if (cso) {
struct zink_shader *zs = cso;
ctx->shader_reads_drawid = BITSET_TEST(zs->nir->info.system_values_read, SYSTEM_VALUE_DRAW_ID);
@@ -1018,9 +1018,6 @@ zink_bind_vs_state(struct pipe_context *pctx,
ctx->shader_reads_drawid = false;
ctx->shader_reads_basevertex = false;
}
- if (ctx->last_vertex_stage == prev)
- ctx->last_vertex_stage = cso;
-
}
/* if gl_SampleMask[] is written to, we have to ensure that we get a shader with the same sample count:
More information about the mesa-commit
mailing list