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 <alexander.deucher@amd.com>
This commit is contained in:
Michel Dänzer
2016-08-01 18:11:57 +09:00
committed by Michel Dänzer
parent f11531c99f
commit 13c6bc5e38

View File

@@ -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))