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 *************/