diff --git a/.pick_status.json b/.pick_status.json index afc321830c1..abd096ecfa2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -6344,7 +6344,7 @@ "description": "zink: flag vertex element state for rebind after vstate draws", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/zink/zink_draw.cpp b/src/gallium/drivers/zink/zink_draw.cpp index 2575ef40747..ba5371f99fe 100644 --- a/src/gallium/drivers/zink/zink_draw.cpp +++ b/src/gallium/drivers/zink/zink_draw.cpp @@ -1018,6 +1018,8 @@ zink_draw_vertex_state(struct pipe_context *pctx, zink_draw(pctx, &dinfo, 0, NULL, draws, num_draws, vstate, partial_velem_mask); /* ensure ctx->vertex_buffers gets rebound on next non-vstate draw */ ctx->vertex_buffers_dirty = true; + /* ensure ctx->element_state gets rebound on next non-vstate draw */ + ctx->vertex_state_changed = true; if (info.take_vertex_state_ownership) pipe_vertex_state_reference(&vstate, NULL);