Bug 91540 - slow rendering & fullscreen results in stale images
Summary: slow rendering & fullscreen results in stale images
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-03 19:11 UTC by Bas Nieuwenhuizen
Modified: 2015-10-16 15:09 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
example application (3.29 KB, text/plain)
2015-08-03 19:11 UTC, Bas Nieuwenhuizen
no flags Details
Xorg log (222.64 KB, text/plain)
2015-08-03 19:11 UTC, Bas Nieuwenhuizen
no flags Details
dmesg (63.79 KB, text/plain)
2015-08-03 19:11 UTC, Bas Nieuwenhuizen
no flags Details

Description Bas Nieuwenhuizen 2015-08-03 19:11:17 UTC
Created attachment 117492 [details]
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.
Comment 1 Bas Nieuwenhuizen 2015-08-03 19:11:37 UTC
Created attachment 117493 [details]
Xorg log
Comment 2 Bas Nieuwenhuizen 2015-08-03 19:11:57 UTC
Created attachment 117494 [details]
dmesg
Comment 3 Michel Dänzer 2015-08-20 03:54:52 UTC
Looks like the amdgpu driver doesn't properly wait for rendering to the back buffer to finish before flipping scanout to it.
Comment 4 Bas Nieuwenhuizen 2015-08-20 21:16:00 UTC
I tested this again with the agd5f/linux drm-next-4.3 branch and this bug did not occur anymore.
Comment 5 Michel Dänzer 2015-10-08 03:01:04 UTC
(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.
Comment 6 Michel Dänzer 2015-10-15 03:09:28 UTC
The remaining issue is fixed in http://lists.freedesktop.org/archives/dri-devel/2015-October/092507.html .
Comment 7 Bas Nieuwenhuizen 2015-10-16 15:09:58 UTC
I haven't noticed any similar issues after my previous reply.


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.