Created attachment 34221 [details] Taskbar corrupted Starting with commit : http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=488c9fd8300505cc6c0c2f8f0f00849f27cc5d63 I am experiencing some visual corruption, mostly in KDE taskbar and on rare occasions on other KDE desktop plasmoids. At some point, items/icons are randomly disappearing and re-appearing again when hovering the mouse on them. It often starts to occur when switching desktop (I run Kwin with GL compositing). Each time a "corruption" occurs, I get the following msg in Xorg.log : reloc emit failure -22 (set_render_target 262) reloc emit failure -22 (set_render_target 279) reloc emit failure -22 (set_render_target 283) Needless to say it is filled with such msgs after some time in the X session. I first suspected a bug in Mesa, but it wasn't. Reverting previous to the above commit solves the problem. My setup : Xorg 1.7.6 Mesa libdrm xf86-video-ati from git 2.6.33 or next + glisse/drm
same here on an RV770 with Xorg 1.6.5 + drm-radeon-testing (commit 7fc3c459022ec0b1d08bbd4fe05615f0d0a13dd0) + xf86-video-ati head but additionally on dmesg i get: [drm:r600_cs_packet_next_reloc_mm] *ERROR* No packet3 for relocation for packet at 5402. radeon 0000:01:00.0: bad SET_CONTEXT_REG 0x28040 [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
Created attachment 34323 [details] [review] possible fix Does this patch help?
Created attachment 34326 [details] [review] use consistent write domain patch fixes the problem for me but probably has performance implications. The problem seems to be that in R600PrepareCopy() a bo is created from a pixmap with a write domain = VRAM and later on in R600DoPrepareCopy() , set_render_target is called and tries to BATCH_RELOC that bo to wd = VRAM | GTT which results in the check in cs_gem_write_reloc() that checks for old_wd == reloc_wd to fail. As i do not know if the dest bo is allowed to be in GTT i didn't change the initial placement but adapted the reloc.
Patch no. 34323 didn't help. Same corruptions and dmesg : [ 548.332504] [drm:r600_cs_packet_next_reloc_mm] *ERROR* No packet3 for relocation for packet at 725. [ 548.332528] [drm:r600_packet3_check] *ERROR* bad SET_CONTEXT_REG 0x28040 [ 548.332546] [drm:radeon_cs_ioctl] *ERROR* Invalid command stream ! Patch no. 34326 indeed worked. Cannot tell about performance however.
(In reply to comment #4) > Patch no. 34326 indeed worked. Cannot tell about performance however. > It's basically akin to reverting the initial commit. The domain is always forced to vram so GetImage will be slow.
I've just pushed some changes to xf86-video-ati that may help.
(In reply to comment #6) > I've just pushed some changes to xf86-video-ati that may help. > Yes they do ! I guess this bug can be closed.
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.