Summary: | [sna] Artifacts while loading image in firefox | ||||||
---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Christoph Reiter <reiter.christoph> | ||||
Component: | DRM/Intel | Assignee: | Daniel Vetter <daniel> | ||||
Status: | CLOSED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | medium | CC: | ben, chris, daniel, jbarnes | ||||
Version: | XOrg 6.7.0 | ||||||
Hardware: | x86-64 (AMD64) | ||||||
OS: | Linux (All) | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Christoph Reiter
2012-06-27 04:14:27 UTC
You are by any chance using a nightly build of mozilla, or simply a build not using system cairo? This is iceweasel 10.0.5 from debian testing, so I guess not. Ok, and which kernel? 3.2.21 and 3.4.1 3.4 shouldn't have any flushing/coherence issues. *touch wood* And finally how reliable are your reproduction steps? I've tried a number of machines with a mixture of generations and window managers reloading that image and not once seen the skipped lines. Could you recompile with --enable-debug and reproduce? That will enable all the assertions and sanity checks, which may catch the error. If it does persist can you try with --enable-debug=full and attach the Xorg.log? Created attachment 63529 [details]
xorg log
Here you go.
The session included: logging in, starting iceweasel, clicking the link, reloading 5 or so times, with lots of artifacts every time, kill X.
The sequence looks like: 1. PutImage to a temporary pixmap (using a linear LLC bo). 2. Copy temporary pixmap to permanent pixmap (linear CPU bo -> X-tiled GPU bo) 3. Tile permanent pixmap to backbuffer (X-tiled GPU bo -> X-tiled GPU bo). During the log capture did you see the gaps? Can you describe how they manifested? From the earlier screenshot, I was expecting that we would be updating the output after a few PutImages (i.e. we'd update the output before the image was complete) and so we would be losing the damage at some point (forgetting to copy some of the most recent partial PutImage). If you install cairo-1.12, how does that alter things? I have cairo 1.12.2 installed. I did see gaps on all 5 reload attempts. Not sure how to describe it. The size varies depending on the loading speed... If I'd have to guess, I would assume it misses every second update beginning with the second one. Do you mind also checking that commit 87dd6408a5c29e4808283df78a981de0a3c0a79c Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Jun 28 10:53:59 2012 +0100 sna: Correct the reversal of the periodic flushing semantics is not responsible? (i.e. test with the current HEAD of xf86-video-intel.git) Ok, I've found an example. So far resisting all attempts to identify which path actually goes adrift. commit 7c3eb1fda9e567a300a8138acdac9ec11e010b11 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Jun 28 17:04:26 2012 +0100 sna: Correct inverted logic for checking xrgb drawables Reported-by: Christoph Reiter <reiter.christoph@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51472 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Works now, thanks! I finally found something fixable :) |
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.