diff options
Diffstat (limited to 'xorg-server-hwcursor-gamma')
7 files changed, 56 insertions, 554 deletions
diff --git a/xorg-server-hwcursor-gamma/0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch b/xorg-server-hwcursor-gamma/0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch deleted file mode 100644 index 2dbbb85..0000000 --- a/xorg-server-hwcursor-gamma/0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch +++ /dev/null @@ -1,374 +0,0 @@ -From 75eecf28ae3709181a51571132b0accd9cae316e Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun, 13 Mar 2016 13:54:01 +0000 -Subject: Xext/vidmode: Reduce verbosity of GetModeLine debug messages - -In commit f175cf45aebcdda53f3ae49c0eaf27da1f194e92 -Author: Olivier Fourdan <ofourdan@redhat.com> -Date: Wed Feb 10 09:34:34 2016 +0100 - - vidmode: move to a separate library of its own - -the verbosity of some old debug messages (which print the reply to every -GetModeLine client request and others) was increased leading to lots of -log spam. Downgrade the logging back to DebugF. - -[ajax: Fix a typo so it compiles.] - -Reviewed-by: Adam Jackson <ajax@redhat.com> -References: https://bugs.freedesktop.org/show_bug.cgi?id=94515 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Olivier Fourdan <ofourdan@redhat.com> - -diff --git a/Xext/vidmode.c b/Xext/vidmode.c -index 7c838f4..0cbbdc3 100644 ---- a/Xext/vidmode.c -+++ b/Xext/vidmode.c -@@ -69,7 +69,7 @@ typedef struct { - dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p) - - #ifdef DEBUG --#define DEBUG_P(x) LogMessage(X_INFO, x"\n"); -+#define DEBUG_P(x) DebugF(x"\n") - #else - #define DEBUG_P(x) /**/ - #endif -@@ -267,13 +267,13 @@ ProcVidModeGetModeLine(ClientPtr client) - rep.vtotal = VidModeGetModeValue(mode, VIDMODE_V_TOTAL); - rep.flags = VidModeGetModeValue(mode, VIDMODE_FLAGS); - -- LogMessage(X_INFO, "GetModeLine - scrn: %d clock: %ld\n", -- stuff->screen, (unsigned long) rep.dotclock); -- LogMessage(X_INFO, "GetModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", -- rep.hdisplay, rep.hsyncstart, rep.hsyncend, rep.htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- rep.vdisplay, rep.vsyncstart, rep.vsyncend, -- rep.vtotal, (unsigned long) rep.flags); -+ DebugF("GetModeLine - scrn: %d clock: %ld\n", -+ stuff->screen, (unsigned long) rep.dotclock); -+ DebugF("GetModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ rep.hdisplay, rep.hsyncstart, rep.hsyncend, rep.htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ rep.vdisplay, rep.vsyncstart, rep.vsyncend, -+ rep.vtotal, (unsigned long) rep.flags); - - /* - * Older servers sometimes had server privates that the VidMode -@@ -483,23 +483,23 @@ ProcVidModeAddModeLine(ClientPtr client) - stuff->after_vtotal = oldstuff->after_vtotal; - stuff->after_flags = oldstuff->after_flags; - } -- LogMessage(X_INFO, "AddModeLine - scrn: %d clock: %ld\n", -- (int) stuff->screen, (unsigned long) stuff->dotclock); -- LogMessage(X_INFO, "AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", -- stuff->hdisplay, stuff->hsyncstart, -- stuff->hsyncend, stuff->htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, -- stuff->vtotal, (unsigned long) stuff->flags); -- LogMessage(X_INFO, " after - scrn: %d clock: %ld\n", -- (int) stuff->screen, (unsigned long) stuff->after_dotclock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -- stuff->after_hdisplay, stuff->after_hsyncstart, -- stuff->after_hsyncend, stuff->after_htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- stuff->after_vdisplay, stuff->after_vsyncstart, -- stuff->after_vsyncend, stuff->after_vtotal, -- (unsigned long) stuff->after_flags); -+ DebugF("AddModeLine - scrn: %d clock: %ld\n", -+ (int) stuff->screen, (unsigned long) stuff->dotclock); -+ DebugF("AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ stuff->hdisplay, stuff->hsyncstart, -+ stuff->hsyncend, stuff->htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, -+ stuff->vtotal, (unsigned long) stuff->flags); -+ DebugF(" after - scrn: %d clock: %ld\n", -+ (int) stuff->screen, (unsigned long) stuff->after_dotclock); -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ stuff->after_hdisplay, stuff->after_hsyncstart, -+ stuff->after_hsyncend, stuff->after_htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ stuff->after_vdisplay, stuff->after_vsyncstart, -+ stuff->after_vsyncend, stuff->after_vtotal, -+ (unsigned long) stuff->after_flags); - - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); -@@ -572,7 +572,7 @@ ProcVidModeAddModeLine(ClientPtr client) - VidModeSetModeValue(mode, VIDMODE_FLAGS, stuff->flags); - - if (stuff->privsize) -- LogMessage(X_INFO, "AddModeLine - Privates in request have been ignored\n"); -+ DebugF("AddModeLine - Privates in request have been ignored\n"); - - /* Check that the mode is consistent with the monitor specs */ - switch (pVidMode->CheckModeForMonitor(pScreen, mode)) { -@@ -601,7 +601,7 @@ ProcVidModeAddModeLine(ClientPtr client) - - pVidMode->AddModeline(pScreen, mode); - -- LogMessage(X_INFO, "AddModeLine - Succeeded\n"); -+ DebugF("AddModeLine - Succeeded\n"); - - return Success; - } -@@ -640,14 +640,14 @@ ProcVidModeDeleteModeLine(ClientPtr client) - stuff->flags = oldstuff->flags; - stuff->privsize = oldstuff->privsize; - } -- LogMessage(X_INFO, "DeleteModeLine - scrn: %d clock: %ld\n", -- (int) stuff->screen, (unsigned long) stuff->dotclock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -- stuff->hdisplay, stuff->hsyncstart, -- stuff->hsyncend, stuff->htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, -- (unsigned long) stuff->flags); -+ DebugF("DeleteModeLine - scrn: %d clock: %ld\n", -+ (int) stuff->screen, (unsigned long) stuff->dotclock); -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ stuff->hdisplay, stuff->hsyncstart, -+ stuff->hsyncend, stuff->htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, -+ (unsigned long) stuff->flags); - - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); -@@ -662,11 +662,11 @@ ProcVidModeDeleteModeLine(ClientPtr client) - bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); - } - if (len != stuff->privsize) { -- LogMessage(X_INFO, "req_len = %ld, sizeof(Req) = %d, privsize = %ld, " -- "len = %d, length = %d\n", -- (unsigned long) client->req_len, -- (int) sizeof(xXF86VidModeDeleteModeLineReq) >> 2, -- (unsigned long) stuff->privsize, len, stuff->length); -+ DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, " -+ "len = %d, length = %d\n", -+ (unsigned long) client->req_len, -+ (int) sizeof(xXF86VidModeDeleteModeLineReq) >> 2, -+ (unsigned long) stuff->privsize, len, stuff->length); - return BadLength; - } - -@@ -681,46 +681,46 @@ ProcVidModeDeleteModeLine(ClientPtr client) - if (!pVidMode->GetCurrentModeline(pScreen, &mode, &dotClock)) - return BadValue; - -- LogMessage(X_INFO, "Checking against clock: %d (%d)\n", -+ DebugF("Checking against clock: %d (%d)\n", -+ VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), -+ VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), -+ VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), -+ VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", -+ VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), -+ VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), -+ VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), -+ VidModeGetModeValue(mode, VIDMODE_V_TOTAL), -+ VidModeGetModeValue(mode, VIDMODE_FLAGS)); -+ -+ if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && -+ MODEMATCH(mode, stuff)) -+ return BadValue; -+ -+ if (!pVidMode->GetFirstModeline(pScreen, &mode, &dotClock)) -+ return BadValue; -+ -+ do { -+ DebugF("Checking against clock: %d (%d)\n", - VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", - VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), - VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), - VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), - VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", - VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), - VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), - VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), - VidModeGetModeValue(mode, VIDMODE_V_TOTAL), - VidModeGetModeValue(mode, VIDMODE_FLAGS)); - -- if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && -- MODEMATCH(mode, stuff)) -- return BadValue; -- -- if (!pVidMode->GetFirstModeline(pScreen, &mode, &dotClock)) -- return BadValue; -- -- do { -- LogMessage(X_INFO, "Checking against clock: %d (%d)\n", -- VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -- VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), -- VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), -- VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), -- VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", -- VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), -- VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), -- VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), -- VidModeGetModeValue(mode, VIDMODE_V_TOTAL), -- VidModeGetModeValue(mode, VIDMODE_FLAGS)); -- - if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && - MODEMATCH(mode, stuff)) { - pVidMode->DeleteModeline(pScreen, mode); -- LogMessage(X_INFO, "DeleteModeLine - Succeeded\n"); -+ DebugF("DeleteModeLine - Succeeded\n"); - return Success; - } - } while (pVidMode->GetNextModeline(pScreen, &mode, &dotClock)); -@@ -761,12 +761,12 @@ ProcVidModeModModeLine(ClientPtr client) - stuff->flags = oldstuff->flags; - stuff->privsize = oldstuff->privsize; - } -- LogMessage(X_INFO, "ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n", -- (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart, -- stuff->hsyncend, stuff->htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, -- stuff->vtotal, (unsigned long) stuff->flags); -+ DebugF("ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart, -+ stuff->hsyncend, stuff->htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, -+ stuff->vtotal, (unsigned long) stuff->flags); - - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); -@@ -816,7 +816,7 @@ ProcVidModeModModeLine(ClientPtr client) - VidModeSetModeValue(modetmp, VIDMODE_FLAGS, stuff->flags); - - if (stuff->privsize) -- LogMessage(X_INFO, "ModModeLine - Privates in request have been ignored\n"); -+ DebugF("ModModeLine - Privates in request have been ignored\n"); - - /* Check that the mode is consistent with the monitor specs */ - switch (pVidMode->CheckModeForMonitor(pScreen, modetmp)) { -@@ -856,7 +856,7 @@ ProcVidModeModModeLine(ClientPtr client) - pVidMode->SetCrtcForMode(pScreen, mode); - pVidMode->SwitchMode(pScreen, mode); - -- LogMessage(X_INFO, "ModModeLine - Succeeded\n"); -+ DebugF("ModModeLine - Succeeded\n"); - return Success; - } - -@@ -896,14 +896,14 @@ ProcVidModeValidateModeLine(ClientPtr client) - stuff->privsize = oldstuff->privsize; - } - -- LogMessage(X_INFO, "ValidateModeLine - scrn: %d clock: %ld\n", -- (int) stuff->screen, (unsigned long) stuff->dotclock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -- stuff->hdisplay, stuff->hsyncstart, -- stuff->hsyncend, stuff->htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, -- (unsigned long) stuff->flags); -+ DebugF("ValidateModeLine - scrn: %d clock: %ld\n", -+ (int) stuff->screen, (unsigned long) stuff->dotclock); -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ stuff->hdisplay, stuff->hsyncstart, -+ stuff->hsyncend, stuff->htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, -+ (unsigned long) stuff->flags); - - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); -@@ -956,7 +956,7 @@ ProcVidModeValidateModeLine(ClientPtr client) - VidModeSetModeValue(modetmp, VIDMODE_V_TOTAL, stuff->vtotal); - VidModeSetModeValue(modetmp, VIDMODE_FLAGS, stuff->flags); - if (stuff->privsize) -- LogMessage(X_INFO, "ValidateModeLine - Privates in request have been ignored\n"); -+ DebugF("ValidateModeLine - Privates in request have been ignored\n"); - - /* Check that the mode is consistent with the monitor specs */ - if ((status = -@@ -982,7 +982,7 @@ ProcVidModeValidateModeLine(ClientPtr client) - swapl(&rep.status); - } - WriteToClient(client, sizeof(xXF86VidModeValidateModeLineReply), &rep); -- LogMessage(X_INFO, "ValidateModeLine - Succeeded (status = %d)\n", status); -+ DebugF("ValidateModeLine - Succeeded (status = %d)\n", status); - - return Success; - } -@@ -1046,14 +1046,14 @@ ProcVidModeSwitchToMode(ClientPtr client) - stuff->privsize = oldstuff->privsize; - } - -- LogMessage(X_INFO, "SwitchToMode - scrn: %d clock: %ld\n", -- (int) stuff->screen, (unsigned long) stuff->dotclock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -- stuff->hdisplay, stuff->hsyncstart, -- stuff->hsyncend, stuff->htotal); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, -- (unsigned long) stuff->flags); -+ DebugF("SwitchToMode - scrn: %d clock: %ld\n", -+ (int) stuff->screen, (unsigned long) stuff->dotclock); -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ stuff->hdisplay, stuff->hsyncstart, -+ stuff->hsyncend, stuff->htotal); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", -+ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, -+ (unsigned long) stuff->flags); - - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); -@@ -1089,19 +1089,19 @@ ProcVidModeSwitchToMode(ClientPtr client) - return BadValue; - - do { -- LogMessage(X_INFO, "Checking against clock: %d (%d)\n", -- VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); -- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", -- VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), -- VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), -- VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), -- VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); -- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", -- VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), -- VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), -- VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), -- VidModeGetModeValue(mode, VIDMODE_V_TOTAL), -- VidModeGetModeValue(mode, VIDMODE_FLAGS)); -+ DebugF("Checking against clock: %d (%d)\n", -+ VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); -+ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -+ VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), -+ VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), -+ VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), -+ VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); -+ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", -+ VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), -+ VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), -+ VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), -+ VidModeGetModeValue(mode, VIDMODE_V_TOTAL), -+ VidModeGetModeValue(mode, VIDMODE_FLAGS)); - - if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && - MODEMATCH(mode, stuff)) { -@@ -1109,7 +1109,7 @@ ProcVidModeSwitchToMode(ClientPtr client) - if (!pVidMode->SwitchMode(pScreen, mode)) - return BadValue; - -- LogMessage(X_INFO, "SwitchToMode - Succeeded\n"); -+ DebugF("SwitchToMode - Succeeded\n"); - return Success; - } - } while (pVidMode->GetNextModeline(pScreen, &mode, &dotClock)); --- -cgit v0.10.2 - diff --git a/xorg-server-hwcursor-gamma/0001-glamor-make-current-in-prepare-paths.patch b/xorg-server-hwcursor-gamma/0001-glamor-make-current-in-prepare-paths.patch deleted file mode 100644 index 6167395..0000000 --- a/xorg-server-hwcursor-gamma/0001-glamor-make-current-in-prepare-paths.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 422a9f7f37eb6027fa4d20a4be208978832be6d6 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Wed, 15 Jul 2015 17:54:03 +1000 -Subject: [PATCH] glamor: make current in prepare paths - -Lots of the accel paths only make current once they start -doing someting, so a lot of them call the bail paths without -make current, which means on PRIME systems for example -we end up in the wrong context. - -Add a prepare pixmap in the prepare fallback path. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90667 -Signed-off-by: Dave Airlie <airlied@redhat.com> ---- - glamor/glamor_prepare.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/glamor/glamor_prepare.c b/glamor/glamor_prepare.c -index 9bfc557..68fb58f 100644 ---- a/glamor/glamor_prepare.c -+++ b/glamor/glamor_prepare.c -@@ -45,6 +45,8 @@ glamor_prep_pixmap_box(PixmapPtr pixmap, glamor_access_t access, BoxPtr box) - if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(priv)) - return TRUE; - -+ glamor_make_current(glamor_priv); -+ - RegionInit(®ion, box, 1); - - /* See if it's already mapped */ --- -2.4.3 - diff --git a/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch b/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch deleted file mode 100644 index dc2e7ef..0000000 --- a/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c -index a531f60..f4f8749 100644 ---- a/glamor/glamor_fbo.c -+++ b/glamor/glamor_fbo.c -@@ -352,8 +352,10 @@ _glamor_create_tex(glamor_screen_private *glamor_priv, - glBindTexture(GL_TEXTURE_2D, tex); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); -- if (format == glamor_priv->one_channel_format && format == GL_RED) -+ if (format == glamor_priv->one_channel_format && format == GL_RED) { -+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_ZERO); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_RED); -+ } - glamor_priv->suppress_gl_out_of_memory_logging = true; - glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, - format, GL_UNSIGNED_BYTE, NULL); diff --git a/xorg-server-hwcursor-gamma/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch b/xorg-server-hwcursor-gamma/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch deleted file mode 100644 index a33840a..0000000 --- a/xorg-server-hwcursor-gamma/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch +++ /dev/null @@ -1,84 +0,0 @@ -From ca355e9d6acab994453cdbb65cb213d09ee4a50f Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Wed, 14 Oct 2015 15:10:35 +0200 -Subject: [PATCH] linux: Do not call FatalError from xf86CloseConsole - -FatalError ends up calling xf86CloseConsole itself, so calling FatalError -from within xf86CloseConsole is not a good idea. - -All the other error checking done in xf86CloseConsole uses -xf86Msg(X_WARNING, ...) except for the switch_to() helper function, -change things so that switch_to() also uses xf86Msg rather then FatalError -when called from xf86CloseConsole. - -BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1269210 -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - hw/xfree86/os-support/linux/lnx_init.c | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c -index ec06a05..9fec964 100644 ---- a/hw/xfree86/os-support/linux/lnx_init.c -+++ b/hw/xfree86/os-support/linux/lnx_init.c -@@ -64,17 +64,25 @@ drain_console(int fd, void *closure) - } - - static void --switch_to(int vt, const char *from) -+switch_to(int vt, Bool is_open) - { - int ret; - - SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt)); -- if (ret < 0) -- FatalError("%s: VT_ACTIVATE failed: %s\n", from, strerror(errno)); -+ if (ret < 0) { -+ if (is_open) -+ FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); -+ else -+ xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); -+ } - - SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt)); -- if (ret < 0) -- FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno)); -+ if (ret < 0) { -+ if (is_open) -+ FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); -+ else -+ xf86Msg(X_WARNING, "xf86CloseConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); -+ } - } - - #pragma GCC diagnostic push -@@ -233,7 +241,7 @@ xf86OpenConsole(void) - /* - * now get the VT. This _must_ succeed, or else fail completely. - */ -- switch_to(xf86Info.vtno, "xf86OpenConsole"); -+ switch_to(xf86Info.vtno, TRUE); - - SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_GETMODE, &VT)); - if (ret < 0) -@@ -294,7 +302,7 @@ xf86OpenConsole(void) - else { /* serverGeneration != 1 */ - if (!xf86Info.ShareVTs && xf86Info.autoVTSwitch) { - /* now get the VT */ -- switch_to(xf86Info.vtno, "xf86OpenConsole"); -+ switch_to(xf86Info.vtno, TRUE); - } - } - } -@@ -346,7 +354,7 @@ xf86CloseConsole(void) - * Perform a switch back to the active VT when we were started - */ - if (activeVT >= 0) { -- switch_to(activeVT, "xf86CloseConsole"); -+ switch_to(activeVT, FALSE); - activeVT = -1; - } - } --- -2.5.0 - diff --git a/xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch b/xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch deleted file mode 100644 index adf5c7a..0000000 --- a/xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 3b385105b2d19a1c55e9779ae88d775185eea231 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> -Date: Thu, 24 Mar 2016 17:42:47 +0900 -Subject: [PATCH xserver] present: Only requeue for next MSC after flip failure -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This code was added to deal with the driver present hook failing, in -which case we need to wait for the next MSC before executing the -presentation. - -However, it could also take effect in cases where the driver incorrectly -thinks the current MSC matches the target one (e.g. due to the kernel -interface only supporting 32-bit MSC values), in which case it could -result in the presentation getting requeued over and over. - -To prevent such issues, check specifically for the target MSC -immediately following the current MSC. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94596 -Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> -Reviewed-by: Keith Packard <keithp@keithp.com> ---- - present/present.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/present/present.c b/present/present.c -index 55f6aa7..105e2bf 100644 ---- a/present/present.c -+++ b/present/present.c -@@ -726,7 +726,7 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) - } - - /* If present_flip failed, we may have to requeue for the target MSC */ -- if (msc_is_after(vblank->target_msc, crtc_msc) && -+ if (vblank->target_msc == crtc_msc + 1 && - Success == present_queue_vblank(screen, - vblank->crtc, - vblank->event_id, --- -2.7.4 - diff --git a/xorg-server-hwcursor-gamma/PKGBUILD b/xorg-server-hwcursor-gamma/PKGBUILD index 7c78459..854dee5 100644 --- a/xorg-server-hwcursor-gamma/PKGBUILD +++ b/xorg-server-hwcursor-gamma/PKGBUILD @@ -5,8 +5,8 @@ _pkgname=xorg-server pkgname=xorg-server-hwcursor-gamma epoch=2 -pkgver=1.18.1 -pkgrel=1 # 1=2 in xorg-server +pkgver=1.18.3 +pkgrel=1 # 2 in xorg-server pkgdesc="Xorg X server with patch to apply gamma ramps on hardware cursors" depends=(libepoxy libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common libxshmfence libgl xf86-input-evdev) provides=("xorg-server=${pkgver}" 'X-ABI-VIDEODRV_VERSION=20' 'X-ABI-XINPUT_VERSION=22.1' 'X-ABI-EXTENSION_VERSION=9.0' 'x-server') @@ -25,12 +25,14 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' source=(${url}/releases/individual/xserver/${_pkgname}-${pkgver}.tar.bz2 xvfb-run xvfb-run.1 + call-eglBindAPI-after-eglInitialize.patch 0001-When-an-cursor-is-set-it-is-adjusted-to-use-the.patch 0002-Fix-for-full-and-semi-transparency-under-negative-im.patch 0003-Use-Harms-s-suggest-do-not-use-inline-if.-And-fix-si.patch) -sha256sums=('85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d' +sha256sums=('ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' + '45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d' 'bea348631dedd66475d84ac2cfe0840f22a80a642b4680d73fead4749e47f055' 'be9169b937b5d0b44f7f05d7c08aaa5f0c1092e128ce261d9cb350f09dfe1fb0' '0a643ae83e03faee0f4db669a33c5b3c99edbba5c86cde2c83962ae536d31081') @@ -42,6 +44,9 @@ prepare() { patch -Np1 -i ../0001-When-an-cursor-is-set-it-is-adjusted-to-use-the.patch patch -Np1 -i ../0002-Fix-for-full-and-semi-transparency-under-negative-im.patch patch -Np1 -i ../0003-Use-Harms-s-suggest-do-not-use-inline-if.-And-fix-si.patch + + msg2 'Apply call-eglBindAPI-after-eglInitialize.patch' + patch -Np1 -i ../call-eglBindAPI-after-eglInitialize.patch } build() { diff --git a/xorg-server-hwcursor-gamma/call-eglBindAPI-after-eglInitialize.patch b/xorg-server-hwcursor-gamma/call-eglBindAPI-after-eglInitialize.patch new file mode 100644 index 0000000..09773a2 --- /dev/null +++ b/xorg-server-hwcursor-gamma/call-eglBindAPI-after-eglInitialize.patch @@ -0,0 +1,48 @@ +diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c +index 4bcd3ce..16a20a7 100644 +--- a/glamor/glamor_egl.c ++++ b/glamor/glamor_egl.c +@@ -770,11 +770,6 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + + glamor_egl->has_gem = glamor_egl_check_has_gem(fd); + +-#ifndef GLAMOR_GLES2 +- eglBindAPI(EGL_OPENGL_API); +-#else +- eglBindAPI(EGL_OPENGL_ES_API); +-#endif + if (!eglInitialize + (glamor_egl->display, &glamor_egl->major, &glamor_egl->minor)) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglInitialize() failed\n"); +@@ -782,6 +777,12 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + goto error; + } + ++#ifndef GLAMOR_GLES2 ++ eglBindAPI(EGL_OPENGL_API); ++#else ++ eglBindAPI(EGL_OPENGL_ES_API); ++#endif ++ + version = eglQueryString(glamor_egl->display, EGL_VERSION); + xf86Msg(X_INFO, "%s: EGL version %s:\n", glamor_name, version); + +diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c +index ad66cf6..73ccd71 100644 +--- a/hw/xwayland/xwayland-glamor.c ++++ b/hw/xwayland/xwayland-glamor.c +@@ -298,12 +298,13 @@ xwl_drm_init_egl(struct xwl_screen *xwl_screen) + return; + } + +- eglBindAPI(EGL_OPENGL_API); + if (!eglInitialize(xwl_screen->egl_display, &major, &minor)) { + ErrorF("eglInitialize() failed\n"); + return; + } + ++ eglBindAPI(EGL_OPENGL_API); ++ + version = eglQueryString(xwl_screen->egl_display, EGL_VERSION); + ErrorF("glamor: EGL version %s:\n", version); + |