diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2015-11-27 16:53:30 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2016-08-17 18:30:11 +0900 |
commit | 4cfa4615f79f64062e5e771cd45dd7048f48b4f6 (patch) | |
tree | 07b66976a19a1caabd3c5ecf21d2e439264154f9 /src/radeon_kms.c | |
parent | 121a6de72da5fcf9a32408eff36b2235f3dfbcfe (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.c | 16 |
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); |