summaryrefslogtreecommitdiff
path: root/src/radeon_video.c
diff options
context:
space:
mode:
authorPauli Nieminen <suokkos@gmail.com>2010-02-15 13:40:37 +0200
committerMichel Dänzer <michel@daenzer.net>2010-02-15 17:10:06 +0100
commit78e7047c5235b09858b66dd3688d39aaa27d7589 (patch)
tree9eebea9c29c1cf4b2b0648a64c220fdc4d2ad63a /src/radeon_video.c
parent3ec25e59854b6b03ad763bc374d3475a50f562d8 (diff)
Allocate Xv buffers to GTT.
KMS doesn't have acceleration for upload to vram. memcpy/memmove to VRAM directly is very slow (40M/s in benchmark) which causes visible problems to video. Allocating video buffer in GTT will give good performance (350-450M/s) for memmove operation. This is nice performance boost for Xv under KMS. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Diffstat (limited to 'src/radeon_video.c')
-rw-r--r--src/radeon_video.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/radeon_video.c b/src/radeon_video.c
index d7700fa0..92f65a6e 100644
--- a/src/radeon_video.c
+++ b/src/radeon_video.c
@@ -2949,7 +2949,8 @@ RADEONPutImage(
}
pPriv->video_offset = radeon_legacy_allocate_memory(pScrn, &pPriv->video_memory,
(pPriv->doubleBuffer ?
- (new_size * 2) : new_size), 64);
+ (new_size * 2) : new_size), 64,
+ RADEON_GEM_DOMAIN_GTT);
if (pPriv->video_offset == 0)
return BadAlloc;
@@ -3179,7 +3180,8 @@ RADEONAllocateSurface(
pitch = ((w << 1) + 15) & ~15;
size = pitch * h;
- offset = radeon_legacy_allocate_memory(pScrn, &surface_memory, size, 64);
+ offset = radeon_legacy_allocate_memory(pScrn, &surface_memory, size, 64,
+ RADEON_GEM_DOMAIN_GTT);
if (offset == 0)
return BadAlloc;
@@ -3517,7 +3519,8 @@ RADEONPutVideo(
pPriv->video_offset = radeon_legacy_allocate_memory(pScrn, &pPriv->video_memory,
(pPriv->doubleBuffer ?
- (new_size * 2) : new_size), 64);
+ (new_size * 2) : new_size), 64,
+ RADEON_GEM_DOMAIN_GTT);
if (pPriv->video_offset == 0)
return BadAlloc;