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
Created attachment 53156 [details] screenshot
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.
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'
Created attachment 53158 [details] xorg log with debug=full
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...
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 ;)
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...
any information regarding the shadow-text problem I can provide?
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...
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.
So the discrepancy of the shadow text is that it hits the glyph fallback path. Even odder...
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,
[ 3122.369] Current version of pixman: 0.23.8
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.
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.
Created attachment 53274 [details] wine with windows "clearlooks" theme
There's a wine theme?!
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()?
just tried, the memset didn't help :/
Created attachment 53282 [details] clearlooks theme causing the problem
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.
Setting DBG_NO_HW=1 results in X not starting anymore
Created attachment 53285 [details] log when DBG_NO_HW=1
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.
(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.
Created attachment 53289 [details] log when DBG_NO_HW=1 + debug=full
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).
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.
(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...
Unfourtunatly, the broken tabs which were fixed by c5d94b21d5c65dcae3e294412a8f20bad347a6d8 are broken again.
I almost feel ready to dive into that function once more and fix it forever!
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.
Ah, the change is introduced with wine-1.4. The new DIB engine is sending utter garbage... This is not only my bug!
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.
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
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.
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
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...
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!
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).
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....
Timeout. Please do reopen if you can still reproduce the issue and help us diagnose the problem, thanks.
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.