Bug 45016 - wine internal window header artifacts [SNA gradient]
Summary: wine internal window header artifacts [SNA gradient]
Status: RESOLVED FIXED
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: 2012-01-20 18:13 UTC by Clemens Eisserer
Modified: 2012-04-02 05:45 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
screenshot (19.90 KB, image/png)
2012-01-20 18:13 UTC, Clemens Eisserer
no flags Details
screenshot with two equal gradient colors (1.53 KB, image/png)
2012-01-21 03:42 UTC, Clemens Eisserer
no flags Details
wine registry files (87.93 KB, application/zip)
2012-01-21 03:42 UTC, Clemens Eisserer
no flags Details

Description Clemens Eisserer 2012-01-20 18:13:06 UTC
Created attachment 55883 [details]
screenshot

When running winefile (wine-1.3.36), I can see gradient artifacts in the window title bar of internal (emulated) windows that are not present when running the same test with UXA.

Steps to reproduce:
- Start winefile
- De-Maximize the current file-view
- the current view should now be an emulated window, its gradient should show the artifact

My System:
i945GM
intel-2.17-git
Comment 1 Chris Wilson 2012-01-21 02:56:43 UTC
And I thought you were going to have noticed the swaths of purple...
Comment 2 Chris Wilson 2012-01-21 03:03:46 UTC
I don't have the same gradient for my window title bar. Hmm, presumably I could replace my *.reg with yours to get an equivalent setup?
Comment 3 Clemens Eisserer 2012-01-21 03:42:05 UTC
Created attachment 55898 [details]
screenshot with two equal gradient colors
Comment 4 Clemens Eisserer 2012-01-21 03:42:29 UTC
Created attachment 55899 [details]
wine registry files
Comment 5 Clemens Eisserer 2012-01-21 03:45:43 UTC
hope I done't bother you with this kind of reports - actually the wine reports have no real value for me...

attached are my registry files.
Comment 6 Chris Wilson 2012-01-21 07:58:40 UTC
The wine reports are interesting as they appear to be a stress test of code paths rarely used elsewhere. And if you haven't noticed, running 2D benchmarks under wine is faster than running than under native win32. Of course I'm sure a large part of that is that wine is merely approximating the look of the windows functions. But it made me feel better ;-)
Comment 7 Chris Wilson 2012-01-21 08:50:11 UTC
Hmm, set the gradients by hand and tried your *.reg (thanks!) on my PineView box. Seems ok. Either it was a further side effect of (sna: Give kgem_create_buffer_2d a unique id), which is not impossible, or 945gm is broken. The latter is much less likely since pnv is just 945gm on die with a few minor tweaks, but none as far as I am aware in the render engine.
Comment 8 Clemens Eisserer 2012-01-21 08:57:18 UTC
I was testing with the unique-id patch already in - so it seems to be something different - strange.

Maybe my system is somehow broken?
Comment 9 Chris Wilson 2012-01-21 09:12:45 UTC
At this moment in time, it's more likely to be a difference between our systems that I haven't factored into the code. I'd like to bring up my old 945gm to cross-check the rendering before declaring I have no idea what's going on ;-)
Comment 10 Chris Wilson 2012-03-24 15:06:21 UTC
Note to self, we discovered that the change to the new DIB engine triggered a few bugs elsewhere so that may be relevant. Clemens, you don't know whether wine-1.3.36 included the new engine? I'm waiting on debian packaging wine-1.4 before retesting on PineView. I should just go and dig out the 945gm as well just to be certain.
Comment 11 Chris Wilson 2012-04-02 04:35:25 UTC
Ok, on the 965gm with an updated wine and having converted the gen4 backend to also use the gradient ramp, I can reproduce the issue. The implication is then the gradient approximation is not robust enough for this use-case.
Comment 12 Chris Wilson 2012-04-02 05:45:38 UTC
commit 5c4dc9c5db7b2a5b936bdbc15536c5cf0f7f5f23
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 2 13:40:22 2012 +0100

    sna/gen3+: Fix sampling of borders around gradients
    
    Incurs a slight loss of precision for the internal gradient, but much
    more preferable to the artefacts around the borders with RepeatNone.
    
    Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45016
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>


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.