Created attachment 113784 [details] snapshot of the behaviour Having 2.99.917-145-g127aae5a72a6, I am seeing weird glyphs while scrolling message text.
Created attachment 113785 [details] xorg log
Please tell me this is recent and bisectable... (Sorry to impose that upon you, but it's a worrying glitch.)
(In reply to Chris Wilson from comment #2) > Please tell me this is recent and bisectable... (Sorry to impose that upon > you, but it's a worrying glitch.) Recent: definitely. It should be something after 0c2ff5532c79029a8. Reproducible (thus bisectable): not much :(
Let's rule out the clip boxes change first: diff --git a/src/sna/sna.h b/src/sna/sna.h index 04875b8..89081db 100644 --- a/src/sna/sna.h +++ b/src/sna/sna.h @@ -1202,6 +1202,7 @@ __find_clip_box_for_y(const BoxRec *begin, const BoxRec *end, int16_t y); inline static const BoxRec * find_clip_box_for_y(const BoxRec *begin, const BoxRec *end, int16_t y) { +#if 0 /* Special case for incremental trapezoid clipping */ if (begin == end) return end; @@ -1211,6 +1212,7 @@ find_clip_box_for_y(const BoxRec *begin, const BoxRec *end, int16_t y) return begin; if (y > end[-1].y2) return end; +#endif /* Otherwise bisect to find the first box crossing y */ return __find_clip_box_for_y(begin, end, y);
The only other suspicious changes (outside of present fixes) is: commit 0b7a6666f82b4fa07f9c9d9a9c1819efc363b31b Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Jan 5 14:00:44 2015 +0000 sna: Partially unroll conversion of rectangles to boxes for fills commit f7f68d50797f0a5e6a3c7f931c827845464acd3f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Feb 9 10:32:48 2015 +0000 sna: Convert pixel values into ARGB values for render operations commit 733a88bda7a654473ffc5961d08ac246ca12a28b Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Feb 9 10:24:26 2015 +0000 sna: Tidy composite operator reduction for CompositeRectangles But clip is my guess.
Any information you have (reproduction, patterns, patches tried and failed) is much appreciated - thanks in advance!
(In reply to Chris Wilson from comment #6) > Any information you have (reproduction, patterns, patches tried and failed) > is much appreciated - thanks in advance! It seems disable of clipping helped, but let me test it for some more time. Then I will remove the patch and see how to reproduce etc.
Next on the list, I added a couple of asserts to the code you #if 0ed out: commit f6ba71ac194a19c80aa64f4769f76a47ebb7bd16 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sun Mar 1 15:47:50 2015 +0000 sna: Unrecurse clip box search Unwind the trivial tail recursion from the clip box bisection and add a couple of assertions on the inlined fast-paths. References: https://bugs.freedesktop.org/show_bug.cgi?id=89295 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(In reply to Chris Wilson from comment #8) > Next on the list, I added a couple of asserts to the code you #if 0ed out: > > commit f6ba71ac194a19c80aa64f4769f76a47ebb7bd16 > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Sun Mar 1 15:47:50 2015 +0000 > > sna: Unrecurse clip box search > > Unwind the trivial tail recursion from the clip box bisection and add a > couple of assertions on the inlined fast-paths. > > References: https://bugs.freedesktop.org/show_bug.cgi?id=89295 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Was this intentional(< vs >=)? - if (y > end[-1].y2) + } + if (y >= end[-1].y2) {
(In reply to Joakim Tjernlund from comment #9) > (In reply to Chris Wilson from comment #8) > > Next on the list, I added a couple of asserts to the code you #if 0ed out: > > > > commit f6ba71ac194a19c80aa64f4769f76a47ebb7bd16 > > Author: Chris Wilson <chris@chris-wilson.co.uk> > > Date: Sun Mar 1 15:47:50 2015 +0000 > > > > sna: Unrecurse clip box search > > > > Unwind the trivial tail recursion from the clip box bisection and add a > > couple of assertions on the inlined fast-paths. > > > > References: https://bugs.freedesktop.org/show_bug.cgi?id=89295 > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > Was this intentional(< vs >=)? > - if (y > end[-1].y2) > + } > + if (y >= end[-1].y2) { Yes. > vs >=.
(In reply to Chris Wilson from comment #10) > (In reply to Joakim Tjernlund from comment #9) > > (In reply to Chris Wilson from comment #8) > > > Next on the list, I added a couple of asserts to the code you #if 0ed out: > > > > > > commit f6ba71ac194a19c80aa64f4769f76a47ebb7bd16 > > > Author: Chris Wilson <chris@chris-wilson.co.uk> > > > Date: Sun Mar 1 15:47:50 2015 +0000 > > > > > > sna: Unrecurse clip box search > > > > > > Unwind the trivial tail recursion from the clip box bisection and add a > > > couple of assertions on the inlined fast-paths. > > > > > > References: https://bugs.freedesktop.org/show_bug.cgi?id=89295 > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > > > Was this intentional(< vs >=)? > > - if (y > end[-1].y2) > > + } > > + if (y >= end[-1].y2) { > > Yes. > vs >=. OK, just checking as it looked a bit odd from the commit msg.
So I am running 2.99.917-174-g3e390ec41105 now, but haven't seen the artifact yet.
Ok, bumping it down to needinfo. If nothing goes wrong in a few more days, I'll make a release.
Hmm, lets never speak of this bug again. :)
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.