From: Eric Anholt Date: Wed, 17 May 2017 20:22:39 +0000 (-0700) Subject: vc4: Don't allocate new BOs to avoid synchronization when they're shared. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e8ea42d245cb6adc7f16ee4e96fd89d905d2163a;p=mesa.git vc4: Don't allocate new BOs to avoid synchronization when they're shared. If X11 did a software fallback to the entire screen, we would throw out the BO the screen is scanning out from and allocate a new one. Cc: mesa-stable@lists.freedesktop.org --- diff --git a/src/gallium/drivers/vc4/vc4_resource.c b/src/gallium/drivers/vc4/vc4_resource.c index c0bfc8ff2ea..8a5398d9f78 100644 --- a/src/gallium/drivers/vc4/vc4_resource.c +++ b/src/gallium/drivers/vc4/vc4_resource.c @@ -165,7 +165,8 @@ vc4_resource_transfer_map(struct pipe_context *pctx, prsc->width0 == box->width && prsc->height0 == box->height && prsc->depth0 == box->depth && - prsc->array_size == 1) { + prsc->array_size == 1 && + rsc->bo->private) { usage |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE; }