From: Leo Liu Date: Wed, 2 Apr 2014 13:09:32 +0000 (-0400) Subject: Revert "radeon: just don't map VRAM buffers at all" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0817182b2f3ec73cc79fab72f791e14d98d5306f;p=mesa.git Revert "radeon: just don't map VRAM buffers at all" This reverts commit 96e8b916a7a39a9ba58e92d1ad77b5501de63ac7. In the case of VCE encoding with raw YUV file, CPU load directly to VRAM is faster than combination of CPU writing to GTT and then blit to VRAM with GPU. Reviewed-by: Christian König --- diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index 45a95088534..3dfddca8b1c 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -928,8 +928,8 @@ static void *r600_texture_transfer_map(struct pipe_context *ctx, if (rtex->surface.level[level].mode >= RADEON_SURF_MODE_1D) use_staging_texture = TRUE; - /* Untiled buffers in VRAM, which is slow for CPU reads and writes */ - if (!(usage & PIPE_TRANSFER_MAP_DIRECTLY) && + /* Untiled buffers in VRAM, which is slow for CPU reads */ + if ((usage & PIPE_TRANSFER_READ) && !(usage & PIPE_TRANSFER_MAP_DIRECTLY) && (rtex->resource.domains == RADEON_DOMAIN_VRAM)) { use_staging_texture = TRUE; }