mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
zink: set when pipeline dirty flag when multisample changes
Sets `gfx_pipeline_state.dirty` appropriately when
`gfx_pipeline_state.multisample` changes
Fixes: 14d5892609 ("zink: add to multisample field to `zink_gfx_pipeline_state`")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22736>
This commit is contained in:
parent
9c4e3c9020
commit
5969541123
1 changed files with 5 additions and 1 deletions
|
|
@ -659,7 +659,7 @@ zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso)
|
|||
bool half_pixel_center = ctx->rast_state ? ctx->rast_state->base.half_pixel_center : true;
|
||||
float line_width = ctx->rast_state ? ctx->rast_state->base.line_width : 1.0;
|
||||
ctx->rast_state = cso;
|
||||
ctx->gfx_pipeline_state.multisample = !ctx->rast_state || ctx->rast_state->base.multisample;
|
||||
bool multisample = !ctx->rast_state || ctx->rast_state->base.multisample;
|
||||
|
||||
if (ctx->rast_state) {
|
||||
if (screen->info.have_EXT_provoking_vertex &&
|
||||
|
|
@ -711,6 +711,10 @@ zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso)
|
|||
zink_set_fs_base_key(ctx)->force_persample_interp = ctx->rast_state->base.force_persample_interp;
|
||||
ctx->gfx_pipeline_state.dirty = true;
|
||||
}
|
||||
if (ctx->gfx_pipeline_state.multisample != multisample) {
|
||||
ctx->gfx_pipeline_state.multisample = multisample;
|
||||
ctx->gfx_pipeline_state.dirty |= !screen->have_full_ds3;
|
||||
}
|
||||
ctx->gfx_pipeline_state.force_persample_interp = ctx->rast_state->base.force_persample_interp;
|
||||
|
||||
if (ctx->rast_state->base.half_pixel_center != half_pixel_center)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue