From 2b1677860e736b43cba3a466908470a4e9ae4d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 11 Jun 2021 20:18:28 -0400 Subject: [PATCH] gallium/u_threaded: don't update valid_buffer_range for read-only shader buffers Reviewed-by: Rob Clark Reviewed-By: Mike Blumenkrantz Part-of: --- src/gallium/auxiliary/util/u_threaded_context.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c index 3cb14d3565e..54ee6e76dc7 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.c +++ b/src/gallium/auxiliary/util/u_threaded_context.c @@ -1475,9 +1475,11 @@ tc_set_shader_buffers(struct pipe_context *_pipe, tc_bind_buffer(&tc->shader_buffers[shader][start + i], next, &tres->b); - util_range_add(&tres->b, &tres->valid_buffer_range, - src->buffer_offset, - src->buffer_offset + src->buffer_size); + if (writable_bitmask & BITFIELD_BIT(i)) { + util_range_add(&tres->b, &tres->valid_buffer_range, + src->buffer_offset, + src->buffer_offset + src->buffer_size); + } } else { tc_unbind_buffer(&tc->shader_buffers[shader][start + i]); }