diff --git a/.pick_status.json b/.pick_status.json index 206da389451..c7f12f3050a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -112,7 +112,7 @@ "description": "util/blitter: fix util_blitter_clear_buffer() refcnt imbalance", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "5f566faa46078500d0d70f510d3ce3e75d1f6e83" }, diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 5552e04c7c4..bed48ee8cb5 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -2634,7 +2634,10 @@ void util_blitter_clear_buffer(struct blitter_context *blitter, blitter_check_saved_vertex_states(ctx); blitter_disable_render_cond(ctx); - pipe->set_vertex_buffers(pipe, ctx->base.vb_slot, 1, 0, false, &vb); + if (ctx->base.saved_vertex_buffer.buffer.resource) { + pipe->set_vertex_buffers(pipe, ctx->base.vb_slot, 1, 0, false, &vb); + } + pipe->bind_vertex_elements_state(pipe, ctx->velem_state_readbuf[num_channels-1]); bind_vs_pos_only(ctx, num_channels);