On Tue, Mar 8, 2016 at 4:40 AM, Michel Dänzer <mic...@daenzer.net> wrote: > On 03.03.2016 01:36, Marek Olšák wrote: >> From: Marek Olšák <marek.ol...@amd.com> >> >> --- >> src/gallium/drivers/radeon/r600_buffer_common.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c >> b/src/gallium/drivers/radeon/r600_buffer_common.c >> index 439a3cb..fb3a80e 100644 >> --- a/src/gallium/drivers/radeon/r600_buffer_common.c >> +++ b/src/gallium/drivers/radeon/r600_buffer_common.c >> @@ -294,6 +294,7 @@ static void *r600_buffer_transfer_map(struct >> pipe_context *ctx, >> * in which case it can be mapped unsynchronized. */ >> if (!(usage & PIPE_TRANSFER_UNSYNCHRONIZED) && >> usage & PIPE_TRANSFER_WRITE && >> + !rbuffer->is_shared && >> !util_ranges_intersect(&rbuffer->valid_buffer_range, box->x, >> box->x + box->width)) { >> usage |= PIPE_TRANSFER_UNSYNCHRONIZED; >> } >> > > Maybe this could be a bit more thorough, e.g. also guarding the > util_range_add calls for shared buffers and clearing/destroying the > valid range when a buffer gets shared. Can be done in a followup change > though.
Not needed. Since this is the only use of valid_buffer_range, all util_range_add calls are effectively no-ops and valid_buffer_range *can* be undefined if is_shared is true. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev