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.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to