diff options
Diffstat (limited to 'src/gallium/drivers/zink/zink_state.c')
-rw-r--r-- | src/gallium/drivers/zink/zink_state.c | 4 |
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; |