diff options
author | Marek Olšák <marek.olsak@amd.com> | 2021-01-11 14:42:50 -0500 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-01-22 16:45:30 +0000 |
commit | 5013828863010a1feded43c20d74250c48eff757 (patch) | |
tree | 1b151214947b68e01c6ef22c34e3e51b96a47d68 /src/gallium/drivers/radeonsi/si_state.c | |
parent | 26d785fbbdf7635607510ebf7e78d93db532bf21 (diff) |
radeonsi: don't set vertex buffer dirty flags when they don't do anything
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8653>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index f5c23830e39..2e2be235cf7 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -4784,6 +4784,7 @@ static void si_bind_vertex_elements(struct pipe_context *ctx, void *state) if (sctx->num_vertex_elements) { sctx->vertex_buffers_dirty = true; } else { + sctx->vertex_buffers_dirty = false; sctx->vertex_buffer_pointer_dirty = false; sctx->vertex_buffer_user_sgprs_dirty = false; } @@ -4862,7 +4863,8 @@ static void si_set_vertex_buffers(struct pipe_context *ctx, unsigned start_slot, for (i = 0; i < count; i++) pipe_resource_reference(&dst[i].buffer.resource, NULL); } - sctx->vertex_buffers_dirty = true; + + sctx->vertex_buffers_dirty = sctx->num_vertex_elements > 0; sctx->vertex_buffer_unaligned = (orig_unaligned & ~updated_mask) | unaligned; /* Check whether alignment may have changed in a way that requires |