Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Sun, Oct 13, 2013 at 6:08 PM, Grigori Goronzy <g...@chown.ath.cx> wrote: > Textures that likely reside in VRAM, are mapped for reading and > don't require direct mapping should be staged into GTT, to avoid bad > performance. This fixes readback performance of VDPAU surfaces. > --- > src/gallium/drivers/radeon/r600_texture.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/gallium/drivers/radeon/r600_texture.c > b/src/gallium/drivers/radeon/r600_texture.c > index ebb70906..9ba1e36 100644 > --- a/src/gallium/drivers/radeon/r600_texture.c > +++ b/src/gallium/drivers/radeon/r600_texture.c > @@ -852,6 +852,12 @@ 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 */ > + if ((usage & PIPE_TRANSFER_READ) && !(usage & > PIPE_TRANSFER_MAP_DIRECTLY) && > + (rtex->resource.domains == RADEON_DOMAIN_VRAM)) { > + use_staging_texture = TRUE; > + } > + > /* Use a staging texture for uploads if the underlying BO is busy. */ > if (!(usage & PIPE_TRANSFER_READ) && > (r600_rings_is_buffer_referenced(rctx, rtex->resource.cs_buf, > RADEON_USAGE_READWRITE) || > -- > 1.8.1.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev