[xorg-x11-drv-mach64] mach64-6.9.3-shadowfb.patch: Allow Render even when doing ShadowFB.

Adam Jackson ajax at fedoraproject.org
Mon Oct 1 15:35:13 UTC 2012


commit c37239dd72bc5f6362097947f87ec262fe490350
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Oct 1 11:35:07 2012 -0400

    mach64-6.9.3-shadowfb.patch: Allow Render even when doing ShadowFB.
    
    - Disable EXA as well, it's completely broken.

 mach64-6.9.3-shadowfb.patch |   54 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)
---
diff --git a/mach64-6.9.3-shadowfb.patch b/mach64-6.9.3-shadowfb.patch
new file mode 100644
index 0000000..ff96e41
--- /dev/null
+++ b/mach64-6.9.3-shadowfb.patch
@@ -0,0 +1,54 @@
+From 104e3e067a7dcac143cb672fe42d56396ba6087b Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Wed, 26 Sep 2012 16:21:25 -0400
+Subject: [PATCH] Don't gratuitously disable Render when ShadowFBing
+
+There's no reason to do this, and I am at a loss to explain why that was
+ever done.  The first instance of this logic comes from xfree86 (over 11
+years ago!):
+
+http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c.diff?r1=1.15&r2=1.16
+
+Now, cfb never had Render support, so that might make some sense if
+there was an intermediate uncommitted state where the driver used fb for
+direct but cfb for shadowed.  But that's really the only plausible
+explanation I can think of.
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+---
+ src/atiscreen.c |   18 ++++--------------
+ 1 files changed, 4 insertions(+), 14 deletions(-)
+
+diff --git a/src/atiscreen.c b/src/atiscreen.c
+index b1fbd3c..62a4dd9 100644
+--- a/src/atiscreen.c
++++ b/src/atiscreen.c
+@@ -476,21 +476,11 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
+         }
+     }
+ 
+-    /* If applicable, initialise RENDER extension */
++    /* initialise RENDER extension */
++    if (!fbPictureInit(pScreen, NULL, 0) && (serverGeneration == 1))
+     {
+-        if (pATI->OptionShadowFB)
+-        {
+-            if (serverGeneration == 1)
+-                xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
+-                    "RENDER extension not supported with a shadowed"
+-                    " framebuffer.\n");
+-        }
+-        else if (!fbPictureInit(pScreen, NULL, 0) &&
+-                 (serverGeneration == 1))
+-        {
+-            xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
+-                "RENDER extension initialisation failed.\n");
+-        }
++	xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
++	    "RENDER extension initialisation failed.\n");
+     }
+ 
+     xf86SetBlackWhitePixels(pScreen);
+-- 
+1.7.7.6
+


More information about the scm-commits mailing list