https://bugs.freedesktop.org/show_bug.cgi?id=91540
Bug ID: 91540 Summary: slow rendering & fullscreen results in stale images Product: DRI Version: XOrg git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: DRM/AMDgpu Assignee: dri-devel@lists.freedesktop.org Reporter: bas@basnieuwenhuizen.nl
Created attachment 117492 --> https://bugs.freedesktop.org/attachment.cgi?id=117492&action=edit example application
With GL applications if the render time is > 1 frame (> 2 for more reliable triggering) and the window is fullscreen, I have flickering betweeen old and new frames.
Attached is an example application that if run fullscreen and sufficiently slow exhibits the problem. The quad is supposed to rotate when you press space, but the first moments you get some combination of the two rotated quads.
Workarounds include: - making the window not fullscreen. - use xcompmgr to enable compositing. - using vblank_mode=0
Hardware: Sapphire R9 285 Dual-X OC 2 GB (TONGA)
Software kernel from adg5f/linux drm-next-4.3-wip commit 88a7d7fa964602514496223639c4e0432fbd457b (also occurs on 4.2-rc4) drm, mesa from agd5f/... amdgpu branches xf86-video-amdgpu from master Xserver 1.17.2
My window manager is XMonad, which is a tiling window manager without compositing.
The attached Xorg.0.log contains some warnings: (WW) AMDGPU(0): amdgpu_dri2_flip_event_handler: Pageflip completion event has impossible msc 189694 < target_msc 189695
However, running the example application or my original application does not (consistently) generate those warnings when run.
https://bugs.freedesktop.org/show_bug.cgi?id=91540
--- Comment #1 from Bas Nieuwenhuizen bas@basnieuwenhuizen.nl --- Created attachment 117493 --> https://bugs.freedesktop.org/attachment.cgi?id=117493&action=edit Xorg log
https://bugs.freedesktop.org/show_bug.cgi?id=91540
--- Comment #2 from Bas Nieuwenhuizen bas@basnieuwenhuizen.nl --- Created attachment 117494 --> https://bugs.freedesktop.org/attachment.cgi?id=117494&action=edit dmesg
https://bugs.freedesktop.org/show_bug.cgi?id=91540
--- Comment #3 from Michel Dänzer michel@daenzer.net --- Looks like the amdgpu driver doesn't properly wait for rendering to the back buffer to finish before flipping scanout to it.
https://bugs.freedesktop.org/show_bug.cgi?id=91540
Bas Nieuwenhuizen bas@basnieuwenhuizen.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #4 from Bas Nieuwenhuizen bas@basnieuwenhuizen.nl --- I tested this again with the agd5f/linux drm-next-4.3 branch and this bug did not occur anymore.
https://bugs.freedesktop.org/show_bug.cgi?id=91540
--- Comment #5 from Michel Dänzer michel@daenzer.net --- (In reply to Bas Nieuwenhuizen from comment #4)
I tested this again with the agd5f/linux drm-next-4.3 branch and this bug did not occur anymore.
Is it really completely gone for you? I still seem to be seeing at least a mild variation of the problem after bootup, though sometimes it seems to disappear by itself after a while now.
https://bugs.freedesktop.org/show_bug.cgi?id=91540
--- Comment #6 from Michel Dänzer michel@daenzer.net --- The remaining issue is fixed in http://lists.freedesktop.org/archives/dri-devel/2015-October/092507.html .
https://bugs.freedesktop.org/show_bug.cgi?id=91540
--- Comment #7 from Bas Nieuwenhuizen bas@basnieuwenhuizen.nl --- I haven't noticed any similar issues after my previous reply.
dri-devel@lists.freedesktop.org