Bug 42606 - Rendering artifacts with wine applications [SNA line-drawing]
Summary: Rendering artifacts with wine applications [SNA line-drawing]
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-04 17:22 UTC by Clemens Eisserer
Modified: 2012-10-25 16:30 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
screenshot (10.21 KB, image/png)
2011-11-04 17:22 UTC, Clemens Eisserer
no flags Details
xorg log with debug=full (1.44 MB, application/x-bzip2)
2011-11-04 17:59 UTC, Clemens Eisserer
no flags Details
wine with windows "clearlooks" theme (10.62 KB, image/png)
2011-11-07 16:55 UTC, Clemens Eisserer
no flags Details
clearlooks theme causing the problem (1.18 MB, application/zip)
2011-11-08 01:45 UTC, Clemens Eisserer
no flags Details
log when DBG_NO_HW=1 (24.50 KB, text/plain)
2011-11-08 02:07 UTC, Clemens Eisserer
no flags Details
log when DBG_NO_HW=1 + debug=full (25.78 KB, text/plain)
2011-11-08 02:52 UTC, Clemens Eisserer
no flags Details

Description Clemens Eisserer 2011-11-04 17:22:10 UTC
I noticed two issues with wine applications when using SNA, which don't seem to be present with UXA.

1. Some disabled buttons are rendered with a rectangle, instead of "shadow text"
2. A small glich for tab-rendering (line seems to be one px too short)

intel i945GM
intel-git
libdrm-2.4.27
pixman-0.23.8
linux-3.1.0
xorg 1.11.1
Comment 1 Clemens Eisserer 2011-11-04 17:22:44 UTC
Created attachment 53156 [details]
screenshot
Comment 2 Chris Wilson 2011-11-04 17:27:58 UTC
I had noticed the tabs. Haven't seen the misrendered shadow text though. Let's try a pass with ./configure --enable-sna --enable-debug=full and see if that spots anything amiss.
Comment 3 Clemens Eisserer 2011-11-04 17:37:15 UTC
I checked out git, but it fails to compile with:

  CC     sna_display.lo
sna_display.c: In function 'update_flush_interval':
sna_display.c:605:2: error: 'struct sna' has no member named 'flush_interval'
Comment 4 Clemens Eisserer 2011-11-04 17:59:04 UTC
Created attachment 53158 [details]
xorg log with debug=full
Comment 5 Chris Wilson 2011-11-04 18:06:25 UTC
Hmm, ends in a backtrace. Is that related? I just fixed one rendering corruption in gen3, I'd be amazed if it was the culprit for the shadow test. Thanks for debug log, that it didn't trigger an assertion is worrying...
Comment 6 Clemens Eisserer 2011-11-04 18:17:50 UTC
Unfourtunatly that fix didn't fix the problem for me :/

I guess that backtrace is caused by overwriting intel_drv.so with a recompiled binary, which reliably crashes my x-server and start with the new driver ;)
Comment 7 Chris Wilson 2011-11-05 07:34:51 UTC
commit c5d94b21d5c65dcae3e294412a8f20bad347a6d8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Nov 5 14:32:16 2011 +0000

    sna: Extend the zero-line segments by one
    
    Fixes misrendering of the wine tabs
    
    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42606
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Better...
Comment 8 Clemens Eisserer 2011-11-05 08:11:18 UTC
any information regarding the shadow-text problem I can provide?
Comment 9 Chris Wilson 2011-11-05 12:49:32 UTC
My suspicion for the shadow text is that it is another uninitialised variable used in the gen3 fill routines after I removed the explicit memset(0). What value is used is then machine dependent and could explain why I haven't been able to reproduce this yet. And using bitfields masks the uninitialised variable with valgrind.

If you want to play, there are a set of defines in src/sna/gen3_render.c to disable certain render paths

#define NO_FILL 0

etc and if you can narrow it down to the offending function, that would be usual. NO_FILL_BOXES would be my guess...
Comment 10 Chris Wilson 2011-11-05 13:34:22 UTC
I just called memset(0xcc) on each the fill ops, didn't see any change in the shadow text, so I think I'm barking up the wrong tree.
Comment 11 Chris Wilson 2011-11-05 13:43:42 UTC
So the discrepancy of the shadow text is that it hits the glyph fallback path. Even odder...
Comment 12 Chris Wilson 2011-11-05 14:05:07 UTC
Ok, so I do see some very similar corruption if I comment out the conversion of the 1-bit source into a8 for compositing, ala
 
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index badde7c..65812ea 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -1074,6 +1074,7 @@ sna_render_picture_convert(struct sna *sna,
                return 0;
        }
 
+       if (0)
        pixman_image_composite(PictOpSrc, src, NULL, dst,
                               box.x1, box.y1,
                               0, 0,

However, that affects much more than just the shadow text regions. I don't think that it is a coincidence that it should have a similar impact though.

Can you please confirm your pixman version? 

diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index badde7c..8f828c9 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -1074,6 +1074,7 @@ sna_render_picture_convert(struct sna *sna,
                return 0;
        }
 
+       memset(ptr, 0, pitch*h);
        pixman_image_composite(PictOpSrc, src, NULL, dst,
                               box.x1, box.y1,
                               0, 0,
Comment 13 Clemens Eisserer 2011-11-07 02:55:33 UTC
[  3122.369] Current version of pixman: 0.23.8
Comment 14 Clemens Eisserer 2011-11-07 03:08:53 UTC
I tried to disable the following paths:

#define NO_COMPOSITE_SPANS 1 
#define NO_COPY_BOXES 1 
#define NO_FILL 1 
#define NO_FILL_ONE 1 
#define NO_FILL_BOXES 1

however, it had no influence on the rendering of the shadow text.

With NO_FILL_ONE=1 I get rendering corruptions, I'll file another bug about it.
With NO_COMPOSITE=1 my x-server crashes after logging in, I'll try to debug it further.
Comment 15 Clemens Eisserer 2011-11-07 16:54:25 UTC
I guess the shadow-text problem is also related to wine's theme engine beeing completly broken with SNA.

Even with all acceleration hooks disabled, loading a window-theme results in a lot of black areas, whereas with UXA the theme is rendered fine.
Comment 16 Clemens Eisserer 2011-11-07 16:55:05 UTC
Created attachment 53274 [details]
wine with windows "clearlooks" theme
Comment 17 Chris Wilson 2011-11-08 00:55:56 UTC
There's a wine theme?!
Comment 18 Chris Wilson 2011-11-08 01:07:48 UTC
Works well here (visually at least, I'll need to dig through the debug log to see if there is anything interesting in there). But yes, at first glance, I would say it is connected to the original bug.


Did you try the memset(0) before the conversion using pixman_image_composite()?
Comment 19 Clemens Eisserer 2011-11-08 01:44:01 UTC
just tried, the memset didn't help :/
Comment 20 Clemens Eisserer 2011-11-08 01:45:20 UTC
Created attachment 53282 [details]
clearlooks theme causing the problem
Comment 21 Chris Wilson 2011-11-08 01:54:19 UTC
To completely disable all use of the GPU:

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 75e7533..a45fb3c 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -61,7 +61,7 @@ static inline void list_replace(struct list *old,
     for (pos = (head)->next; pos != (head); pos = pos->next)
 
 
-#define DBG_NO_HW 0
+#define DBG_NO_HW 1
 #define DBG_NO_TILING 0
 #define DBG_NO_VMAP 0
 #define DBG_NO_RELAXED_FENCING 0

That forces the use of the shadow buffer plus memcpy onto the scanout every vblank.
Comment 22 Clemens Eisserer 2011-11-08 02:07:20 UTC
Setting DBG_NO_HW=1 results in X not starting anymore
Comment 23 Clemens Eisserer 2011-11-08 02:07:39 UTC
Created attachment 53285 [details]
log when DBG_NO_HW=1
Comment 24 Chris Wilson 2011-11-08 02:17:52 UTC
Ok, I've checked winecfg+ClearLooks on gen2 (855gm), gen3 (pnv), gen4 (gm45), gen5 and gen6... On a couple of gen (gen2,gen5) I did see what appeared to be an uninitialised fill, but nothing approaching the consistent failure you have.

The wine rendering is predominantly done using 1bpp pixmaps that are then copied onto the target (with colour expansion). So it appears the common factor is the use of 1bpp. No bright ideas yet.
Comment 25 Chris Wilson 2011-11-08 02:26:25 UTC
(In reply to comment #22)
> Setting DBG_NO_HW=1 results in X not starting anymore

Do you mind updating and trying again? I just added some error messages that will hopefully indicate where we failed.
Comment 26 Clemens Eisserer 2011-11-08 02:52:25 UTC
Created attachment 53289 [details]
log when DBG_NO_HW=1 + debug=full
Comment 27 Clemens Eisserer 2011-11-08 03:03:57 UTC
Ok, seems my external monitor was the issue.

However, even with NO_HW=1 I get the same rendering artifacts. Could it be pixman is to blame? (my xserver actually is fedora default, while I updated pixman manually).
Comment 28 Chris Wilson 2011-11-08 03:05:36 UTC
Ah, I think I see the problem (with DBG_NO_HW).

commit aeaadb16093f83c9b830958c5946d4d048ffd26b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 8 11:03:19 2011 +0000

    sna: Handle creation of large Screen pixmap when the GPU is wedged
    
    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42606
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Thanks.
Comment 29 Chris Wilson 2011-11-08 03:12:44 UTC
(In reply to comment #27)
> However, even with NO_HW=1 I get the same rendering artifacts. Could it be
> pixman is to blame? (my xserver actually is fedora default, while I updated
> pixman manually).

That is my suspicion. There are a few places where I've used pixman routines instead of fb*(), and this does look consistently like all the places where 1bpp drawing occurs. But you have pixman-0.23.8 just like me...
Comment 30 Clemens Eisserer 2012-02-25 03:11:26 UTC
Unfourtunatly, the broken tabs which were fixed by c5d94b21d5c65dcae3e294412a8f20bad347a6d8 are broken again.
Comment 31 Chris Wilson 2012-02-25 03:14:42 UTC
I almost feel ready to dive into that function once more and fix it forever!
Comment 32 Clemens Eisserer 2012-03-04 12:20:12 UTC
Because my SSD died, I had to resurrect my old HDD which I updated to Fedora 16 + pixman-0.24.4.

When using wine themes, I still get those black areas everywhere as shown in the "wine with clearlooks theme", when using other themes than the default one.
Comment 33 Chris Wilson 2012-03-07 17:33:30 UTC
Ah, the change is introduced with wine-1.4. The new DIB engine is sending utter garbage... This is not only my bug!
Comment 34 Chris Wilson 2012-03-08 03:20:32 UTC
This makes the colours happier:

commit 8e6166a0e87a00248d0d4925953c923850f5b840
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 8 02:09:25 2012 +0000

    sna: Becareful not to reduce operators for superluminal colors
    
    wine-1.4 is such an example of a crazy application.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42606
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit f6474883d325cff443da9ceaa99ec734e6cdc1d6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 8 11:04:05 2012 +0000

    sna/gen2+: Use the reduced operator from CompositeRectangles
    
    Do not attempt to further reduce the operator locally in each backend as
    the reduction is already performed in the upper layer.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42606
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Hopefully all that is left here now is the line-drawing bug.
Comment 35 Sami Farin 2012-03-08 03:49:35 UTC
regarding aeaadb16093f83c9b830958c5946d4d048ffd26b:

29ec36ff0634 works with wedged GPU, 5c5ebd6a3ecf3 not.  I have core i5-2500K.

(==) Depth 24 pixmap format is 32 bpp
(II) intel(0): SNA initialized with SandyBridge backend
(==) intel(0): Backing store disabled
(==) intel(0): Silken mouse enabled
(II) intel(0): Initializing HW Cursor
(II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
(==) intel(0): DPMS enabled
(WW) intel(0): cannot enable XVideo whilst the GPU is wedged
(II) intel(0): Overlay video not supported on this hardware
(WW) intel(0): Disabling Xv because no adaptors could be initialized.
(WW) intel(0): cannot enable DRI2 whilst the GPU is wedged
(==) intel(0): hotplug detection: "enabled"
(--) RandR disabled
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
(EE) intel(0): [intel] Failed to allocate video resources for front buffer 1920x1200 at depth 24

Fatal server error:
failed to create screen resources
Comment 36 Chris Wilson 2012-03-08 03:55:46 UTC
I didn't intend to break that logic! Can you please rerun with --enable-debug=full whilst the GPU is still wedged and lets see where we are bailing out.
Comment 37 Sami Farin 2012-03-08 04:12:20 UTC
Current version of pixman: 0.24.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Mar  8 14:03:48 2012
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(==) No Layout section.  Using the first Screen section.
(==) No screen section available. Using defaults.
(**) |-->Screen "Default Screen Section" (0)
(**) |   |-->Monitor "<default monitor>"
(==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
(==) Automatically adding devices
(==) Automatically enabling devices
(==) FontPath set to:
	catalogue:/etc/X11/fontpath.d,
	built-ins
(==) ModulePath set to "/usr/lib64/xorg/modules"
(II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
(--) PCI:*(0:0:2:0) 8086:0112:1043:844d rev 9, Mem @ 0xfb400000/4194304, 0xd0000000/268435456, I/O @ 0x0000f000/64, BIOS @ 0x????????/131072
(II) Loading /usr/lib64/xorg/modules/extensions/libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.0.0
(II) Loading /usr/lib64/xorg/modules/extensions/libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.0.0
(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.0.0
(==) AIGLX enabled
(II) Loading /usr/lib64/xorg/modules/extensions/librecord.so
(II) Module record: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.13.0
(II) Loading /usr/lib64/xorg/modules/extensions/libdri.so
(II) Module dri: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.0.0
(II) Loading /usr/lib64/xorg/modules/extensions/libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.2.0
(==) Matched intel as autoconfigured driver 0
(==) Matched vesa as autoconfigured driver 1
(==) Matched fbdev as autoconfigured driver 2
(==) Assigned the driver to the xf86ConfigLayout
(II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 2.18.0
(II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
(II) Module vesa: vendor="X.Org Foundation"
	compiled for 1.11.99.2, module version = 2.3.0
(II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
(II) Module fbdev: vendor="X.Org Foundation"
	compiled for 1.11.0, module version = 0.4.2
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
	i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
	E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
	965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
	4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
	Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
	Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
	Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
	Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
	Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server
(II) VESA: driver for VESA chipsets: vesa
(II) FBDEV: driver for framebuffer: fbdev
(--) using VT number 1

FATAL: Module fbcon not found.
(II) intel(0): SNA compiled from 2.17.0-1024-gd66bb91
sna_init_scrn
pixman version: 0.24.0
(WW) Falling back to old probe method for vesa
(WW) Falling back to old probe method for fbdev
(II) Loading /usr/lib64/xorg/modules/libfbdevhw.so
(II) Module fbdevhw: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 0.0.2
sna_pre_init
sna_open_drm_master
(II) intel(0): Creating default Display subsection in Screen section
	"Default Screen Section" for depth/fbbpp 24/32
(==) intel(0): Depth 24, (--) framebuffer bpp 32
(==) intel(0): RGB weight 888
(==) intel(0): Default visual is TrueColor
(II) intel(0): Integrated Graphics Chipset: Intel(R) Sandybridge Desktop (GT2)
(--) intel(0): Chipset: "Sandybridge Desktop (GT2)"
kgem_init: using vmap=0
kgem_init: has relaxed fencing? 1
kgem_init: no kernel/drm support for HAS_LLC, assuming support for LLC based on GPU generation
kgem_init: cpu bo enabled 1: llc? 1, vmap? 0
kgem_init: semaphores enabled? 0
kgem_init: aperture low=715826517 [682], high=1610609664 [1535]
kgem_init: aperture mappable=268435456 [256 MiB]
kgem_init: partial buffer size=262144 [256 KiB]
kgem_init: total ram=16690307072
kgem_init: large object thresold=268435456
kgem_init: max object size (gpu=1431653034, cpu=715826517, tile upload=134217728, copy=134217728)
kgem_init: max fences=14
(--) intel(0): Disabling use of vmap
(**) intel(0): Framebuffer tiled
(**) intel(0): Pixmaps tiled
(**) intel(0): 3D buffers tiled
(**) intel(0): Throttling enabled
(**) intel(0): Delayed flush enabled
sna_crtc_init: attached crtc[0] id=3, pipe=0
sna_crtc_init: attached crtc[1] id=5, pipe=1
(II) intel(0): Output VGA1 has no monitor section
(II) intel(0): Output HDMI1 has no monitor section
(II) intel(0): Output DP1 has no monitor section
(II) intel(0): Output HDMI2 has no monitor section
(II) intel(0): Output HDMI3 has no monitor section
(II) intel(0): Output DP2 has no monitor section
(II) intel(0): Output DP3 has no monitor section
(II) intel(0): EDID for output VGA1
(II) intel(0): EDID for output HDMI1
(II) intel(0): Manufacturer: HWP  Model: 286a  Serial#: 16843009
(II) intel(0): Year: 2010  Week: 12
(II) intel(0): EDID Version: 1.3
(II) intel(0): Digital Display Input
(II) intel(0): Max Image Size [cm]: horiz.: 54  vert.: 35
(II) intel(0): Gamma: 2.20
(II) intel(0): DPMS capabilities: Off
(II) intel(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 
(II) intel(0): Default color space is primary color space
(II) intel(0): First detailed timing is preferred mode
(II) intel(0): redX: 0.644 redY: 0.335   greenX: 0.304 greenY: 0.613
(II) intel(0): blueX: 0.146 blueY: 0.070   whiteX: 0.312 whiteY: 0.329
(II) intel(0): Supported established timings:
(II) intel(0): 640x480@60Hz
(II) intel(0): 800x600@60Hz
(II) intel(0): 1024x768@60Hz
(II) intel(0): Manufacturer's mask: 0
(II) intel(0): Supported standard timings:
(II) intel(0): #0: hsize: 1280  vsize 960  refresh: 60  vid: 16513
(II) intel(0): #1: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
(II) intel(0): #2: hsize: 1440  vsize 900  refresh: 60  vid: 149
(II) intel(0): #3: hsize: 1600  vsize 1200  refresh: 60  vid: 16553
(II) intel(0): #4: hsize: 1680  vsize 1050  refresh: 60  vid: 179
(II) intel(0): #5: hsize: 1920  vsize 1080  refresh: 60  vid: 49361
(II) intel(0): Supported detailed timing:
(II) intel(0): clock: 154.0 MHz   Image Size:  546 x 352 mm
(II) intel(0): h_active: 1920  h_sync: 1968  h_sync_end 2000 h_blank_end 2080 h_border: 0
(II) intel(0): v_active: 1200  v_sync: 1203  v_sync_end 1209 v_blanking: 1235 v_border: 0
(II) intel(0): Ranges: V min: 59 V max: 61 Hz, H min: 24 H max: 80 kHz, PixClock max 175 MHz
(II) intel(0): Monitor name: HP ZR24w
(II) intel(0): Serial No: CNT01210Q6
(II) intel(0): EDID (in hex):
(II) intel(0): 	00ffffffffffff0022f06a2801010101
(II) intel(0): 	0c140103803623782efc81a4554d9d25
(II) intel(0): 	125054210800814081809500a940b300
(II) intel(0): 	d1c001010101283c80a070b023403020
(II) intel(0): 	360022602100001a000000fd003b3d18
(II) intel(0): 	5011000a202020202020000000fc0048
(II) intel(0): 	50205a523234770a20202020000000ff
(II) intel(0): 	00434e54303132313051360a2020005d
(II) intel(0): Printing probed modes for output HDMI1
(II) intel(0): Modeline "1920x1200"x60.0  154.00  1920 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz eP)
(II) intel(0): Modeline "1600x1200"x60.0  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
(II) intel(0): Modeline "1680x1050"x60.0  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz e)
(II) intel(0): Modeline "1280x1024"x60.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
(II) intel(0): Modeline "1440x900"x59.9  106.50  1440 1520 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
(II) intel(0): Modeline "1280x960"x60.0  108.00  1280 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
(II) intel(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
(II) intel(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
(II) intel(0): Modeline "640x480"x60.0   25.20  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
(II) intel(0): EDID for output DP1
(II) intel(0): EDID for output HDMI2
(II) intel(0): EDID for output HDMI3
(II) intel(0): EDID for output DP2
(II) intel(0): EDID for output DP3
(II) intel(0): Output VGA1 disconnected
(II) intel(0): Output HDMI1 connected
(II) intel(0): Output DP1 disconnected
(II) intel(0): Output HDMI2 disconnected
(II) intel(0): Output HDMI3 disconnected
(II) intel(0): Output DP2 disconnected
(II) intel(0): Output DP3 disconnected
(II) intel(0): Using exact sizes for initial modes
(II) intel(0): Output HDMI1 using initial mode 1920x1200
(II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
(==) intel(0): DPI set to (96, 96)
(II) Loading /usr/lib64/xorg/modules/libfb.so
(II) Module fb: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.0.0
(II) Loading /usr/lib64/xorg/modules/extensions/libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
	compiled for 1.11.99.902, module version = 1.2.0
(II) Unloading vesa
(II) Unloading fbdev
(II) Unloading fbdevhw
(==) Depth 24 pixmap format is 32 bpp
sna_screen_init
uploaded 36800 bytes of static state
kgem_create_linear(36800)
search_linear_cache: num_pages=9, flags=2, use_active? 0
search_linear_cache: inactive and cache bucket empty
search_linear_cache: can not retire
kgem_create_linear: new handle=3, num_pages=9
gem_write(handle=3, offset=0, len=36800)
kgem_bo_write: flush=0, domain=1
kgem_bo_retire: handle=3, domain=1
kgem_bo_retire: retiring bo handle=3 (needed flush? 0), rq? 0
sna_accel_init(backend=SandyBridge, have_render=1)
(II) intel(0): SNA initialized with SandyBridge backend
(==) intel(0): Backing store disabled
(==) intel(0): Silken mouse enabled
(II) intel(0): Initializing HW Cursor
(II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
(==) intel(0): DPMS enabled
(WW) intel(0): cannot enable XVideo whilst the GPU is wedged
(II) intel(0): Overlay video not supported on this hardware
(WW) intel(0): Disabling Xv because no adaptors could be initialized.
sna_dri_open()
(WW) intel(0): cannot enable DRI2 whilst the GPU is wedged
sna_uevent_init
(==) intel(0): hotplug detection: "enabled"
(--) RandR disabled
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
sna_create_screen_resources(1920x1200@24)
sna_create_pixmap(1920, 1200, 24, usage=10)
sna_create_pixmap: can not use GPU, just creating shadow
create_pixmap: serial=1, usage=16, 1920x1200
sna_pixmap_force_to_gpu(pixmap=0x7fecbca5f010)
(EE) intel(0): [intel] Failed to allocate video resources for front buffer 1920x1200 at depth 24

Fatal server error:
failed to create screen resources

Please consult the Fedora Project support 
	 at http://wiki.x.org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

sna_leave_vt
Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: No such file or directory
xinit: server error
Comment 38 Chris Wilson 2012-03-08 04:25:22 UTC
Spotted it:

commit 33af42e6284f104ed3c4cdba4bf3b1c29322ce9c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 8 12:10:24 2012 +0000

    sna: Force the creation of a backing pixmap for scanout
    
    Ordinarily if the GPU is wedged, we just want to create a shadow buffer.
    Except that we must ensure that we do allow a bo to be created for
    attaching to the scanout.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

And back to the wine bug...
Comment 39 Clemens Eisserer 2012-03-08 05:34:08 UTC
Thanks, wine theming works now fine again - although horribly slow.

Would you mind filing a bug-report about wine's behaviour, or could you post a short description here so that I could do it. 

Thanks!
Comment 40 Chris Wilson 2012-03-08 05:57:46 UTC
The optimisations that broke in the driver where based on the knowledge that the RENDER colourspace is premultiplied alpha, and so presumed that with alpha==0 it could optimise away a few operations. That was a driver bug, even if wine itself is incorrectly specifying the colour it wants. ;-)
However, that's not why the DIB engine is so slow with the clearlooks theme. There's the occasional GetImage, but mostly it looks to be doing its rendering in 3x3 tiles. That's as deep as I've probed so far (since I was looking for my fail and not looking for potential optimisations).
Comment 41 Chris Wilson 2012-05-09 11:27:07 UTC
One more patch to test:

commit d5200510b8f2a0ccb2e0c45dfebc659f8360780c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 17:58:58 2012 +0100

    sna: Respect the error terms when reversing the PolyLine DDA
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Note there are still a few discrepancies with capping of PolyLines....
Comment 42 Chris Wilson 2012-10-21 14:29:56 UTC
Timeout. Please do reopen if you can still reproduce the issue and help us diagnose the problem, thanks.
Comment 43 Clemens Eisserer 2012-10-25 16:30:21 UTC
At least on gen6 I can't reproduce it anymore. Thanks :)


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.