[PATCH xf86-video-ati] Don't install Flush/EventCallback for GPU screens

Michel Dänzer michel at daenzer.net
Mon Nov 21 09:27:36 UTC 2016


From: Michel Dänzer <michel.daenzer at amd.com>

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.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 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 2f783a0..a5943d1 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))
-- 
2.10.2



More information about the amd-gfx mailing list