summaryrefslogtreecommitdiff
path: root/src/evergreen_textured_videofuncs.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-04-20 03:10:08 -0400
committerAlex Deucher <alexdeucher@gmail.com>2011-04-20 03:10:08 -0400
commit903e90c31cf0319be9297529aa7b8daa1756cf63 (patch)
treefe9e5c104b22d1cda6284fd96fce09339db5166e /src/evergreen_textured_videofuncs.c
parent982c22f16c8eeee9be81779fbfe17d8d3f9b6897 (diff)
EXA/Xv: used cached bo tiling flags for accel setup on 6xx+
This avoids calling into the kernel for each bo in the accel code. This is a follow on to: cc7d1fa39da40a532fcdbe6c7924ca47a879e66a Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/evergreen_textured_videofuncs.c')
-rw-r--r--src/evergreen_textured_videofuncs.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/evergreen_textured_videofuncs.c b/src/evergreen_textured_videofuncs.c
index 147cd4e0..6200cdc2 100644
--- a/src/evergreen_textured_videofuncs.c
+++ b/src/evergreen_textured_videofuncs.c
@@ -154,18 +154,11 @@ EVERGREENDisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
CLEAR (vs_const_conf);
CLEAR (ps_const_conf);
-#if defined(XF86DRM_MODE)
- if (info->cs) {
- dst_obj.offset = 0;
- src_obj.offset = 0;
- dst_obj.bo = radeon_get_pixmap_bo(pPixmap);
- } else
-#endif
- {
- dst_obj.offset = exaGetPixmapOffset(pPixmap) + info->fbLocation + pScrn->fbOffset;
- src_obj.offset = pPriv->src_offset + info->fbLocation + pScrn->fbOffset;
- dst_obj.bo = src_obj.bo = NULL;
- }
+ dst_obj.offset = 0;
+ src_obj.offset = 0;
+ dst_obj.bo = radeon_get_pixmap_bo(pPixmap);
+ dst_obj.tiling_flags = radeon_get_pixmap_tiling(pPixmap);
+
dst_obj.pitch = exaGetPixmapPitch(pPixmap) / (pPixmap->drawable.bitsPerPixel / 8);
src_obj.pitch = pPriv->src_pitch;
@@ -174,6 +167,7 @@ EVERGREENDisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
src_obj.bpp = 16;
src_obj.domain = RADEON_GEM_DOMAIN_VRAM | RADEON_GEM_DOMAIN_GTT;
src_obj.bo = pPriv->src_bo[pPriv->currentBuffer];
+ src_obj.tiling_flags = 0;
dst_obj.width = pPixmap->drawable.width;
dst_obj.height = pPixmap->drawable.height;