Created attachment 122912 [details] Log Recent versions of xf86-video-intel driver in Arch Linux started showing graphical corruption/artifacts (running XFCE plus compton compositor). The artifacts are sometimes bits of other screen contents, sometimes random memory patterns. They are showing up most frequently in tooltips (especially from the date/time applet) and when using rubber-band selection in Thunar. Last good version: 1:2.99.917+587+gc186d4d-1 Tested bad versions: 1:2.99.917+604+gff0ab2c-1 1:2.99.917+622+gde44aaa-1 1:2.99.917+626+ga7526ea-1 Related software versions: xorg-server 1.18.3-1 mesa 11.2.0-1 Hardware: Dell Latitude E5530 Intel Core i5-3210M (Ivy Bridge) Xorg.0.log is attached, and screenshots will be uploaded shortly.
Created attachment 122913 [details] Screenshot #1 - corrupted tooltip text
Created attachment 122914 [details] Screenshot #2 - artifacts in Thunar
commit bb5194eebd72e828a46f504d91f1ecd5b5804f57 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Apr 5 06:51:46 2016 +0100 sna: Add alignment hints to tiled memcpy was buggy, but commit d08221edabc58bf7aab27931235d1746407bacb0 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat Apr 9 18:57:29 2016 +0100 sna: Replace lost offset when copying from tiled memory was supposed to fix that. Can I ask you attach the latest Xorg.0.log just to double check?
Created attachment 122931 [details] Latest Xorg log Latest Xorg.0.log attached. Problem still exists with this version (commit a7526ea2e038).
I suspect that d08221edabc5 did fix the "lost offset" problem introduced by bb5194eebd72, at least in the non-SSE2 copy functions, but there is still a problem in the SSE2 variants. I am testing a patched version, which forces the use of memcpy_to_tiled_x__swizzle_0 memcpy_from_tiled_x__swizzle_0 instead of memcpy_to_tiled_x__swizzle_0__sse2 memcpy_from_tiled_x__swizzle_0__sse2 and I have not seen any artifacts so far.
I've tried several configs (making sure they were hitting the swizzle0 sse2 paths) to no avail. I expected this to be fairly trivial to reproduce! Time to mess around and see if I can actually hit all the special cases in the tiled0 copy. Could you please try disabling the sse2 paths individually to see if it is one or both that are broken?
Can corfirm, one of the last 10 commits brings graphical corruptions, one of them is broken cursor in libre office - instead of blinking line, cursor is huge blinking square with black triangle when it supposed to be invisible.
(In reply to startas from comment #7) > Can corfirm, one of the last 10 commits brings graphical corruptions, one of > them is broken cursor in libre office - instead of blinking line, cursor is > huge blinking square with black triangle when it supposed to be invisible. Sorry, not one of the last 10, but one of the last 70 commits.
Hmm, xf86-video-intel/test/basic-putimage should be covering the swizzle0 sse2 paths. Can you please try those (you need to install Xvfb to provide a reference) and see if that reproduces the error?
It does, just my full-debugging runs were disabling SSE2. D'oh.
Please try: commit f2a46458a257777438361f74d7e6abee92c7f294 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat Apr 16 18:12:04 2016 +0100 sna: Fix alignment vs length check when adjusting dst pointer When doing the misaligned copy from the start of the dst pointer, the important check is whether there is enough bytes remaining to the next alignment position, next from the last. References: https://bugs.freedesktop.org/show_bug.cgi?id=94928 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Seems to be fixed. Thank you!
(In reply to John Lindgren from comment #12) > Seems to be fixed. Thank you! Marking as fixed.
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.