diff options
author | Eric Anholt <[email protected]> | 2017-05-17 13:22:39 -0700 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-05-18 17:57:52 +0100 |
commit | 4b14ad64d002bb550bcea90623b1b335823f026f (patch) | |
tree | 5e0c67151ef741133222b1c5a8e86939062e0c35 | |
parent | bcd09ef32e6262ceb56cd1c4edbd73c09338ce00 (diff) |
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: [email protected]
(cherry picked from commit e8ea42d245cb6adc7f16ee4e96fd89d905d2163a)
-rw-r--r-- | src/gallium/drivers/vc4/vc4_resource.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_resource.c b/src/gallium/drivers/vc4/vc4_resource.c index e4784ff86e2..596f73dfbf0 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; } |