diff options
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/radeon/r600_texture.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index c89afbc6d76..b22fca892d4 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -1246,7 +1246,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) && !(usage & PIPE_TRANSFER_MAP_DIRECTLY) && + } else if ((usage & PIPE_TRANSFER_READ) && (rtex->resource.domains == RADEON_DOMAIN_VRAM)) { /* Untiled buffers in VRAM, which is slow for CPU reads */ use_staging_texture = TRUE; @@ -1261,10 +1261,6 @@ static void *r600_texture_transfer_map(struct pipe_context *ctx, use_staging_texture = FALSE; } - if (use_staging_texture && (usage & PIPE_TRANSFER_MAP_DIRECTLY)) { - return NULL; - } - trans = CALLOC_STRUCT(r600_transfer); if (!trans) return NULL; |