Bug 42891

Summary: Somtimes text is missing in skype's chat window
Product: xorg Reporter: Clemens Eisserer <linuxhippy>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: zorael
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
screenshot
none
text with different background-color
none
text weirdness and flickering in oxygen-gtk-demo
none
lspci -vnn of machine in comment 11
none
Test case
none
testcase result on clemens eisserer's i945GM none

Description Clemens Eisserer 2011-11-13 15:46:38 UTC
When using the statically linked skype version (2.2.0.35), sometimes text in the chat window is missing.

On the screenshot attached, a bit of the chater's name is missing - but it seems to happen randomly with to all text. On my machine it can be triggered by resizing the chat window.

intel i945GM
intel-git (sna/video: Use the right pointer for unmapping)
libdrm-2.4.27
pixman-0.23.8
linux-3.1.0
xorg 1.11.1
Comment 1 Clemens Eisserer 2011-11-13 15:47:08 UTC
Created attachment 53492 [details]
screenshot
Comment 2 Chris Wilson 2011-11-14 04:24:30 UTC
Could be damage related, could be flush related. Or it might indeed be a whole new bug, only time will tell!
Comment 3 Clemens Eisserer 2011-11-22 13:11:54 UTC
Another strange artifact I only saw with skype was, that text sometimes appeared bold for a short periode of time, while selecting it - will try to get a video of it.
Comment 4 Clemens Eisserer 2011-11-22 13:34:12 UTC
video of test going missing when resizing the chat window: http://www.youtube.com/watch?v=LDHQONHy850

(most visible at the bottom, but happens on a couple of other places too).
Comment 5 Clemens Eisserer 2011-11-22 13:47:42 UTC
video of bold looking text rendered while changing selection: http://www.youtube.com/watch?v=Y90ST9o77V8

Happens quite at the top of the selection at 11:22:06 "es ist ein normaler funktionsaufruf", as well as in the middle of the selection at 11:23:22 "in 5ms beantwortet"
Comment 6 Chris Wilson 2012-01-20 15:11:57 UTC
I suspect I might have to actually break the old 945gm out of storage and use it for a while. I'm having difficultly, so far, reproducing these text related bugs on PineView.
Comment 7 Clemens Eisserer 2012-01-21 08:32:56 UTC
I am pretty sure this is the same bug as bug 44929, I just changed QT's background color to something != white, and indeed the text is rendered, although white (with subpixel AA gone crazy).
Comment 8 Clemens Eisserer 2012-01-21 08:34:35 UTC
Created attachment 55916 [details]
text with different background-color
Comment 9 Clemens Eisserer 2012-01-21 08:35:56 UTC
ok sorry, false alarm, sometimes the text is bold/white but sometimes its still completly missing.
Comment 10 Chris Wilson 2012-01-21 08:51:54 UTC
Ta, yes that would also explain it quite nicely. And having realised I made the basic error of not actually testing the CA paths recently on my PNV box, time to see I can trigger a few errors.
Comment 11 JR 2012-02-21 13:04:04 UTC
Created attachment 57420 [details]
text weirdness and flickering in oxygen-gtk-demo

With SNA enabled at driver compilation I experience this in most if not all GTK programs. Curiously it's not prevalent in any Qt4 applications. The address bar in Chromium is driving me spare. :>

The machine is running Kubuntu 11.10 with extra xorg packages from the xorg-edgers ppa. Notably;
  xserver-xorg-core=1.11.2.902+git20111209+server-1.11-branch.0ca8869e-0ubuntu0sarvatt~oneiric
  libpixman-1-0=0.24.4-1~oneiric1

intel driver and libdrm are from git and up to date as of Feb 21st.


From #intel-gfx@irc.freenode.net;
> [21:12] <ickle_> half-rendered CA glyphs
> [21:13] <ickle_> your guess is as good as mine why the second half of the glyph rendering only sometimes disappears
> [21:13] <zorael> all right :> thanks
> [21:30] <zorael> ickle_: is this bug 42891 (https://bugs.freedesktop.org/show_bug.cgi?id=42891), or should I file a new one?
> [21:31] <ickle_> yes, that's now the same issue
> [21:31] <zorael> now or not?
> [21:33] <ickle_> now - originally it was a nasty fallback case with uninitialised data pulled back from the cpu over the temporary glyph mask, all that remains now is the mystery of the white glyphs
> [21:33] <ickle_> (i.e. only the DEST_OUT pass hits the scanout, the ADD pass is woefully absent)
> [21:49] <zorael> ickle_: I'll quote that in my bug report reply if you don't mind
> [21:59] <ickle_> depends whether you have a patch or if it is just me to talking to myself ;-)
> [22:02] <zorael> D:


See the attached short screencast. Selecting text like that is a very easy way to reproduce the issue.
Comment 12 JR 2012-02-21 13:06:36 UTC
Created attachment 57421 [details]
lspci -vnn of machine in comment 11
Comment 13 Chris Wilson 2012-02-21 13:13:12 UTC
Created attachment 57422 [details]
Test case

This reproduces some of the issues with cairo.git.
Comment 14 Clemens Eisserer 2012-02-21 13:19:52 UTC
Created attachment 57423 [details]
testcase result on clemens eisserer's i945GM
Comment 15 Clemens Eisserer 2012-02-21 13:27:29 UTC
sorry, the screenshot was with cairo 1.10.2 - not with cairo.git
Comment 16 Chris Wilson 2012-02-21 13:44:08 UTC
Ok, I think I've finally got a handle on this problem.

commit fe6602cbbc4eed1b88ac731a30b46cc970ea444f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Feb 21 21:26:29 2012 +0000

    sna/gen3+: Only flush the vertices after checking for end-of-batch
    
    Or upon actually closing the vertex buffer.
    
    However, the underlying issue remains. That is we are failing to re-emit
    the first-pass for CA text after flushing the vertex buffer (and so
    emitting the second-pass for the flushed vertices).
    
    Reported-by: lemens Eisserer <linuxhippy@gmail.com>
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42891
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Now just need that eureka moment to find a clean solution, but hopefully this makes the problem mostly go away for the time being...
Comment 17 Chris Wilson 2012-02-21 13:47:05 UTC
*** Bug 44929 has been marked as a duplicate of this bug. ***
Comment 18 JR 2012-02-21 14:05:18 UTC
(In reply to comment #16)
With that commit everything seems to be working great; the Chromium address bar is sane once more. So far, at least.

Many thanks!
Comment 19 Clemens Eisserer 2012-02-21 14:39:32 UTC
Thanks a lot - white text issues are completly gone :)
Comment 20 Chris Wilson 2012-02-22 01:19:04 UTC
commit 6038cede83e7f360428b4625d288411794f9d052
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Feb 21 21:26:29 2012 +0000

    sna/gen3+: Re-emit composite state after flushing CA vertices
    
    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42891
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

And that will prevent the bug completely.

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.