summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/zink/zink_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/zink/zink_state.c')
-rw-r--r--src/gallium/drivers/zink/zink_state.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/zink/zink_state.c b/src/gallium/drivers/zink/zink_state.c
index d8e08bba812..810d971126c 100644
--- a/src/gallium/drivers/zink/zink_state.c
+++ b/src/gallium/drivers/zink/zink_state.c
@@ -464,6 +464,7 @@ static void
zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso)
{
struct zink_context *ctx = zink_context(pctx);
+ bool clip_halfz = ctx->rast_state ? ctx->rast_state->base.clip_halfz : false;
ctx->rast_state = cso;
if (ctx->rast_state) {
@@ -472,6 +473,9 @@ zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso)
ctx->gfx_pipeline_state.dirty = true;
}
+ if (clip_halfz != ctx->rast_state->base.clip_halfz)
+ ctx->last_vertex_stage_dirty = true;
+
if (ctx->line_width != ctx->rast_state->line_width) {
ctx->line_width = ctx->rast_state->line_width;
ctx->gfx_pipeline_state.dirty = true;