summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-05-12 13:05:19 +0200
committerMarek Olšák <[email protected]>2016-05-19 12:35:50 +0200
commitf330b7a14fd913c50a5df227ee3d5699113357d1 (patch)
tree40ab7e8960e2487b43742d65ecbf12b7d4090f21 /src/gallium
parent5e14d0ac2c1abc46c5ae9081fcce5508dc7a24ee (diff)
gallium/radeon: handle VRAM_GTT placements as having slow CPU reads
not sure if we should include GTT WC too Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeon/r600_buffer_common.c2
-rw-r--r--src/gallium/drivers/radeon/r600_texture.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c
index 9e8384d628f..145cc9f0b9b 100644
--- a/src/gallium/drivers/radeon/r600_buffer_common.c
+++ b/src/gallium/drivers/radeon/r600_buffer_common.c
@@ -359,7 +359,7 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx,
else if ((usage & PIPE_TRANSFER_READ) &&
!(usage & (PIPE_TRANSFER_WRITE |
PIPE_TRANSFER_PERSISTENT)) &&
- rbuffer->domains == RADEON_DOMAIN_VRAM &&
+ rbuffer->domains & RADEON_DOMAIN_VRAM &&
r600_can_dma_copy_buffer(rctx, 0, box->x, box->width)) {
struct r600_resource *staging;
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
index b22fca892d4..a00dedcd3ec 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -1247,7 +1247,7 @@ static void *r600_texture_transfer_map(struct pipe_context *ctx,
if (rtex->surface.level[0].mode >= RADEON_SURF_MODE_1D) {
use_staging_texture = TRUE;
} else if ((usage & PIPE_TRANSFER_READ) &&
- (rtex->resource.domains == RADEON_DOMAIN_VRAM)) {
+ rtex->resource.domains & RADEON_DOMAIN_VRAM) {
/* Untiled buffers in VRAM, which is slow for CPU reads */
use_staging_texture = TRUE;
} else if (!(usage & PIPE_TRANSFER_READ) &&