summaryrefslogtreecommitdiff
path: root/src/radeon_bo_helper.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2015-03-18 16:23:24 +0900
committerMichel Dänzer <michel@daenzer.net>2015-04-03 11:42:00 +0900
commitae92d1765fa370a8d94c2856ad6c45d273ec3c69 (patch)
tree1c602a906d80ac92620f4a2d48e1b4353d5a9d19 /src/radeon_bo_helper.c
parenteea79472a84672ee4dc7adc4487cec6a4037048a (diff)
glamor: Add Option "ShadowPrimary" v2
When this option is enabled, most pixmaps (including the screen pixmap) are allocated in system RAM and mostly accessed by the CPU. Changed areas of the screen pixmap are copied to dedicated per-CRTC scanout pixmaps regularly, triggered by the vblank interrupt. v2: * Set region data pointer to NULL for keeping only the extents * Move pRegion and pBox local variable declarations closer to their uses in drmmode_set_mode_major()
Diffstat (limited to 'src/radeon_bo_helper.c')
-rw-r--r--src/radeon_bo_helper.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/radeon_bo_helper.c b/src/radeon_bo_helper.c
index fdff0328..ebbb192a 100644
--- a/src/radeon_bo_helper.c
+++ b/src/radeon_bo_helper.c
@@ -88,12 +88,15 @@ radeon_alloc_pixmap_bo(ScrnInfoPtr pScrn, int width, int height, int depth,
if (usage_hint & RADEON_CREATE_PIXMAP_DEPTH)
tiling |= RADEON_TILING_MACRO | RADEON_TILING_MICRO;
+ if ((usage_hint == CREATE_PIXMAP_USAGE_BACKING_PIXMAP &&
+ info->shadow_primary)
#ifdef CREATE_PIXMAP_USAGE_SHARED
- if ((usage_hint & 0xffff) == CREATE_PIXMAP_USAGE_SHARED) {
+ || (usage_hint & 0xffff) == CREATE_PIXMAP_USAGE_SHARED
+#endif
+ ) {
tiling = 0;
domain = RADEON_GEM_DOMAIN_GTT;
}
-#endif
}
/* Small pixmaps must not be macrotiled on R300, hw cannot sample them