diff options
author | Marek Olšák <marek.olsak@amd.com> | 2024-02-01 11:46:34 -0500 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2024-02-07 09:19:42 +0000 |
commit | 47c1f389ed35340d920ebeec4f71f96297d3e06a (patch) | |
tree | bb318fd84ee3b407cd843076ccaa3985e4e71f55 /src/gallium/auxiliary/util/u_blitter.c | |
parent | b23f52b7e45385bab7e3381fcd6a01da225507cd (diff) |
gallium: remove take_ownership from set_vertex_buffers, assume it's true
This removes the take_ownership parameter and defines the behavior as if
take_ownership was always true, which is the fast path. This way, we don't
have to have 2 codepaths in set_vertex_buffers of every driver.
The old behavior is optionally available through util_set_vertex_buffers.
It also documents a new constraint that count in set_vertex_buffers must be
equal to the number of vertex buffers referenced by vertex elements or 0.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27492>
Diffstat (limited to 'src/gallium/auxiliary/util/u_blitter.c')
-rw-r--r-- | src/gallium/auxiliary/util/u_blitter.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index e5d52f11e89..ed3abbd07b2 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -650,7 +650,7 @@ void util_blitter_restore_vertex_states(struct blitter_context *blitter) /* Vertex buffer. */ if (ctx->base.saved_num_vb) { - pipe->set_vertex_buffers(pipe, ctx->base.saved_num_vb, true, + pipe->set_vertex_buffers(pipe, ctx->base.saved_num_vb, ctx->base.saved_vertex_buffers); memset(ctx->base.saved_vertex_buffers, 0, sizeof(ctx->base.saved_vertex_buffers[0]) * ctx->base.saved_num_vb); @@ -1412,7 +1412,7 @@ static void blitter_draw(struct blitter_context_priv *ctx, u_upload_unmap(pipe->stream_uploader); pipe->bind_vertex_elements_state(pipe, vertex_elements_cso); - pipe->set_vertex_buffers(pipe, 1, true, &vb); + pipe->set_vertex_buffers(pipe, 1, &vb); pipe->bind_vs_state(pipe, get_vs(&ctx->base)); if (ctx->base.use_index_buffer) { @@ -2634,7 +2634,7 @@ void util_blitter_clear_buffer(struct blitter_context *blitter, pipe->bind_vertex_elements_state(pipe, ctx->velem_state_readbuf[num_channels-1]); - pipe->set_vertex_buffers(pipe, 1, true, &vb); + pipe->set_vertex_buffers(pipe, 1, &vb); bind_vs_pos_only(ctx, num_channels); if (ctx->has_geometry_shader) |