summaryrefslogtreecommitdiff
path: root/src/amdgpu_kms.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/amdgpu_kms.c')
-rw-r--r--src/amdgpu_kms.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 1bce781..9670c3f 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -595,15 +595,20 @@ static void AMDGPUBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
(*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
pScreen->BlockHandler = AMDGPUBlockHandler_KMS;
- for (c = 0; c < xf86_config->num_crtc; c++) {
- if (info->tear_free)
- amdgpu_scanout_flip(pScreen, info, xf86_config->crtc[c]);
- else if (info->shadow_primary
+#ifdef AMDGPU_PIXMAP_SHARING
+ if (!pScreen->isGPU)
+#endif
+ {
+ for (c = 0; c < xf86_config->num_crtc; c++) {
+ if (info->tear_free)
+ amdgpu_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
- )
- amdgpu_scanout_update(xf86_config->crtc[c]);
+ )
+ amdgpu_scanout_update(xf86_config->crtc[c]);
+ }
}
if (info->use_glamor)