reassign 478277 xserver-xorg-core
severity 478277 important
tags 478277 + patch
thanks

Please apply the ubuntu patch (attached) to 1.4.1 X and for a clean
1.5.0 patch get it from fedora.

Not applied repeat images and image scaling will be broken in
cairo/iceweasel 3 for drivers using vanilla XAA and X crashes were
because of this.

Example for broken tiled background:
http://people.ubuntu.com/~asac/corrupted1.png

If you have questions, remember to CC me.


====
Some background from the ubuntu changelog entries:

xorg-server (2:1.4.1~git20080131-1ubuntu9) hardy; urgency=low

  * debian/patches/series,
    debian/patches/165_fedora_xserver-1.5.0-xaa-option-inversion.patch:
    - Turn on patch included in previous commit - obviously
    accidentially
      forgotten.
    - Now that its really enabled, make it apply to 1.4.1 code base
      accordingly. (LP: #182038)

 -- Alexander Sack <[EMAIL PROTECTED]>  Tue, 15 Apr 2008 18:23:51 +0200

xorg-server (2:1.4.1~git20080131-1ubuntu8) hardy; urgency=low

  * debian/patches/165_fedora_xserver-1.5.0-xaa-option-inversion.patch:
    - Turn XAA Offscreen Pixmaps off by default, and use
      XaaOffscreenPixmaps "true" to turn them on.  This setting was an
      early pre-EXA HW optimization attempt that didn't pan out;
      upstream is
      deprecating XAA in favor of EXA generally, and for situations
      where
      XAA is still in use recommends NOT using this optimization hack,
      since
      they found it often just made performance worse, and sometimes
      created
      visualization bugs.  People wishing to gain added performance
      should be
      experimenting with EXA anyway, not this setting.  (closes LP:
      #182038)

 -- Bryce Harrington <[EMAIL PROTECTED]>  Mon, 14 Apr 2008 12:34:54
 -0700

===

On Mon, Apr 28, 2008 at 06:15:55PM +0200, Alexander Sack wrote:
> On Mon, Apr 28, 2008 at 05:20:20PM +0200, Mike Hommey wrote:
> > On Mon, Apr 28, 2008 at 03:09:48PM +0100, Sam Morris wrote:
> > > Package: xulrunner-1.9
> > > Version: 1.9~b5-3
> > > Severity: important
> > > 
> > > In both Epiphany (from experimental) and Iceweasel 3, if a page uses a
> > > jpeg images as its background, the jpeg image does not render and the
> > > page often becomes unreadable. For an example, install the 'w3-recs'
> > > package and check out 
> > > <file:///usr/share/doc/w3-recs/html/www.w3.org/TR/1998/REC-CSS2-19980512/index.html>.
> > 
> > It displays nicely here. What is your X driver ? Are you using EXA or
> > XAA ?
> > 
> 
> FWIW, OffscreenPixmaps have various problems for XAA ... i think X
> 1.5.0 switched to turn this off by default (or maybe its just fedora
> that added that patch). Ubuntu has disabled OffscreenPixmaps too in
> hardy by default.
> 
>  - Alexander
> 

 - Alexander

>From a01ca030c7a1f38e411281d888f0acf2c3fb40f3 Mon Sep 17 00:00:00 2001
From: Adam Jackson <[EMAIL PROTECTED]>
Date: Thu, 13 Mar 2008 13:38:02 -0400
Subject: [PATCH] Disable XAA offscreen pixmaps by default.

Say Option "XaaOffscreenPixmaps" to turn them back on.
---
 hw/xfree86/xaa/xaaInitAccel.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Index: xorg-server-1.4.1~git20080131/hw/xfree86/xaa/xaaInitAccel.c
===================================================================
--- xorg-server-1.4.1~git20080131.orig/hw/xfree86/xaa/xaaInitAccel.c
+++ xorg-server-1.4.1~git20080131/hw/xfree86/xaa/xaaInitAccel.c
@@ -38,17 +38,18 @@
     XAAOPT_CPU_TO_SCREEN_COL_EXP_FILL,
     XAAOPT_SCANLINE_CPU_TO_SCREEN_COL_EXP_FILL,
     XAAOPT_SCREEN_TO_SCREEN_COL_EXP_FILL,
     XAAOPT_IMAGE_WRITE_RECT,
     XAAOPT_SCANLINE_IMAGE_WRITE_RECT,
     XAAOPT_WRITE_BITMAP,
     XAAOPT_WRITE_PIXMAP,
     XAAOPT_PIXMAP_CACHE,
-    XAAOPT_OFFSCREEN_PIXMAPS
+    XAAOPT_OFFSCREEN_PIXMAPS,
+    XAAOPT_HAS_DUMB_INVERTED_OPTION_SENSE
 } XAAOpts;
 
 static const OptionInfoRec XAAOptions[] = {
     {XAAOPT_SCREEN_TO_SCREEN_COPY,	"XaaNoScreenToScreenCopy",
 				OPTV_BOOLEAN,	{0}, FALSE },
     {XAAOPT_SOLID_FILL_RECT,		"XaaNoSolidFillRect",
 				OPTV_BOOLEAN,	{0}, FALSE },
     {XAAOPT_SOLID_FILL_TRAP,		"XaaNoSolidFillTrap",
@@ -84,16 +85,18 @@
     {XAAOPT_WRITE_BITMAP,		"XaaNoWriteBitmap",
 				OPTV_BOOLEAN,	{0}, FALSE },
     {XAAOPT_WRITE_PIXMAP,		"XaaNoWritePixmap",
 				OPTV_BOOLEAN,	{0}, FALSE },
     {XAAOPT_PIXMAP_CACHE,		"XaaNoPixmapCache",
 				OPTV_BOOLEAN,	{0}, FALSE },
     {XAAOPT_OFFSCREEN_PIXMAPS,		"XaaNoOffscreenPixmaps",
 				OPTV_BOOLEAN,	{0}, FALSE },
+    {XAAOPT_HAS_DUMB_INVERTED_OPTION_SENSE, "XaaOffscreenPixmaps",
+				OPTV_BOOLEAN,   {0}, FALSE },
     { -1,				NULL,
 				OPTV_NONE,	{0}, FALSE }
 };
 
 static MODULESETUPPROTO(xaaSetup);
 
 static XF86ModuleVersionInfo xaaVersRec =
 {
@@ -537,17 +540,18 @@
 	else if(HaveScanlineImageWriteRect)
 	    xf86ErrorF("\tScanline Image Writes\n");
 
     }
 
 #define XAAMSG(s) do { if (serverGeneration == 1) xf86ErrorF(s); } while (0)
 
     if((infoRec->Flags & OFFSCREEN_PIXMAPS) && HaveScreenToScreenCopy &&
-		!xf86IsOptionSet(options, XAAOPT_OFFSCREEN_PIXMAPS)) {
+		xf86IsOptionSet(options, XAAOPT_HAS_DUMB_INVERTED_OPTION_SENSE))
+    {
 	XAAMSG("\tOffscreen Pixmaps\n");
     } else {
 	infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
     }
 
 
     /************** Mid Level *************/
 

Reply via email to