Bug 53044 - [snb] Small Glyph Corruption
Summary: [snb] Small Glyph Corruption
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-01 13:38 UTC by Mehran Kholdi
Modified: 2012-08-01 15:28 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Screenshot of tiny glyph corruptions everywhere! (26.22 KB, image/png)
2012-08-01 13:38 UTC, Mehran Kholdi
no flags Details
Xorg log (28.95 KB, text/plain)
2012-08-01 13:40 UTC, Mehran Kholdi
no flags Details

Description Mehran Kholdi 2012-08-01 13:38:55 UTC
Created attachment 65033 [details]
Screenshot of tiny glyph corruptions everywhere!

Frequent corruptions occur in tiny areas of glyphs (mostly on baseline)
Comment 1 Mehran Kholdi 2012-08-01 13:40:29 UTC
Created attachment 65034 [details]
Xorg log
Comment 2 Chris Wilson 2012-08-01 13:49:59 UTC
Looks like the earlier missing flush between pipeline changes. By any chance, do you have a last known good package, or do you mind downgrading to a slightly older package to see if it is a recent issue?
Comment 3 Mehran Kholdi 2012-08-01 13:57:48 UTC
The issue has started to happen after my last update process, which included upgrading xserver-xorg-video-intel (from 2:2.20.2+git20120727.717823a9-0ubuntu0sarvatt~precise to 2:2.20.2+git20120731.fd3a1236-0ubuntu0sarvatt~precise), and kernel (from 3.5.0.6.6 to 3.5.0.7.7)
Comment 4 Chris Wilson 2012-08-01 14:17:32 UTC
I think I know the likely suspect, but if you could do a quick bisection that would be excellent:

git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-intel
cd xf86-video-intel
git bisect start
git bisect good 717823a9
git bisect bad fd3a1236
./autogen.sh --prefix=/usr --disable-uxa --enable-kms-only ; make && sudo make install

then either say 'git bisect good' or 'git bisect bad' depending on whether you see the corruption.
Comment 5 Mehran Kholdi 2012-08-01 14:48:02 UTC
On each revision, waited about 2-3 minutes for the corruption to show off. And here is the outcome:

00c08b1842c9493ca918a868202946b2e7150de0 is the first bad commit
commit 00c08b1842c9493ca918a868202946b2e7150de0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Jul 29 09:51:16 2012 +0100

    sna/gen4: Compile basic kernels at runtime

:040000 040000 55f1f1d778ecc379dbdcfabbc17bc2710c6223fe 9db8ca1f4e7550fb5d36ff807c089ca1177311c9 M	src
Comment 6 Chris Wilson 2012-08-01 14:54:32 UTC
Ok, so the reproduction is not that reliable. Let's try an experiment instead. If you checkout master and then change the define in src/sna/gen6_render.c:

diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index db7599d..a33b098 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -55,7 +55,7 @@
 #define NO_RING_SWITCH 0
 #define PREFER_RENDER 0
 
-#define USE_8_PIXEL_DISPATCH 1
+#define USE_8_PIXEL_DISPATCH 0
 #define USE_16_PIXEL_DISPATCH 1
 #define USE_32_PIXEL_DISPATCH 0

(That is disable the use of the small 8-pixel dispatch shaders.)
Comment 7 Mehran Kholdi 2012-08-01 15:14:07 UTC
Fine! 10 mins and it seems like the issue has disappeared.
Comment 8 Chris Wilson 2012-08-01 15:28:54 UTC
commit eaeda34bef711cc566f51dee092a19a3c4ac1a16
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Aug 1 16:23:05 2012 +0100

    sna: Fix computation of st values for SIMD8 dispatch
    
    Fixes regression with enabling 8-pixels.
    
    Reported-by: Mehran Kholdi <semekh.dev@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53044
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Saw the issue with forcing 8-pixel dispatch on SNB and enabling CA fonts (RGB subpixel antialiasing).


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.