summaryrefslogtreecommitdiff
path: root/src/radeon_kms.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2015-11-27 16:53:30 +0900
committerMichel Dänzer <michel@daenzer.net>2016-08-17 18:30:11 +0900
commit4cfa4615f79f64062e5e771cd45dd7048f48b4f6 (patch)
tree07b66976a19a1caabd3c5ecf21d2e439264154f9 /src/radeon_kms.c
parent121a6de72da5fcf9a32408eff36b2235f3dfbcfe (diff)
Use drmmode_crtc_scanout_* helpers for RandR 1.4 scanout pixmaps
This should allow using multiple CRTCs via RandR 1.4 even with xserver < 1.17. It also simplifies the code a little, and paves the way for following changes. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/radeon_kms.c')
-rw-r--r--src/radeon_kms.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 1fe64a73..d48c9b61 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -696,15 +696,17 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
(*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
pScreen->BlockHandler = RADEONBlockHandler_KMS;
- for (c = 0; c < xf86_config->num_crtc; c++) {
- if (info->tear_free)
- radeon_scanout_flip(pScreen, info, xf86_config->crtc[c]);
- else if (info->shadow_primary
+ if (!pScreen->isGPU) {
+ for (c = 0; c < xf86_config->num_crtc; c++) {
+ if (info->tear_free)
+ radeon_scanout_flip(pScreen, info, xf86_config->crtc[c]);
+ else if (info->shadow_primary
#if XF86_CRTC_VERSION >= 4
- || xf86_config->crtc[c]->driverIsPerformingTransform
+ || xf86_config->crtc[c]->driverIsPerformingTransform
#endif
- )
- radeon_scanout_update(xf86_config->crtc[c]);
+ )
+ radeon_scanout_update(xf86_config->crtc[c]);
+ }
}
radeon_cs_flush_indirect(pScrn);