From 13c6bc5e382765fe567091e1c616c0a26eec04ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Mon, 1 Aug 2016 18:11:57 +0900 Subject: Don't install Flush/EventCallback for GPU screens Their purpose is to flush GPU rendering commands corresponding to damage events, but there can be no damage events corresponding to GPU screen rendering operations. Reviewed-by: Alex Deucher --- src/radeon_kms.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/radeon_kms.c b/src/radeon_kms.c index 2f783a02..a5943d1c 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -302,7 +302,7 @@ radeon_flush_callback(CallbackListPtr *list, static Bool RADEONCreateScreenResources_KMS(ScreenPtr pScreen) { - ExtensionEntry *damage_ext = CheckExtension("DAMAGE"); + ExtensionEntry *damage_ext; ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); RADEONInfoPtr info = RADEONPTR(pScrn); PixmapPtr pixmap; @@ -360,7 +360,7 @@ static Bool RADEONCreateScreenResources_KMS(ScreenPtr pScreen) radeon_glamor_create_screen_resources(pScreen); info->callback_event_type = -1; - if (damage_ext) { + if (!pScreen->isGPU && (damage_ext = CheckExtension("DAMAGE"))) { info->callback_event_type = damage_ext->eventBase + XDamageNotify; if (!AddCallback(&FlushCallback, radeon_flush_callback, pScrn)) -- cgit v1.2.3