Since i pulled the current drm-next tree i see strong flicker and visual corruption during pageflipping, both in my own app, but also in KDE4 and KDE5 Plasma with desktop composition enabled. This happens on both Intel HD Ironake mobile (Apple MBP 2010) and HD-4000 Ivybridge mobile (Apple macMini 2012).
It looks like page flips are not waiting properly for rendering to complete, showing partially rendered frames at flip time.
If i revert Daniel's commit that switches legacy pageflips from the old code path to the atomic code, all problems disappear, so apparently the atomic code for Intel is not quite ready at least on those parts?
In case this helps: As i was also testing DRI3/Present + PRIME on the hybrid graphics MBP, if i use the Intel HD as display gpu and the NVidia/nouveau as render offload gpu i don't get any corruption/flicker even with the atomic pageflip code for legacy pageflips. Iow. the path using dmabuf fence wait in intel_prepare_plane_fb works fine.
thanks, -mario
On Wed, Jul 06, 2016 at 12:17:55PM +0200, Mario Kleiner wrote:
Since i pulled the current drm-next tree i see strong flicker and visual corruption during pageflipping, both in my own app, but also in KDE4 and KDE5 Plasma with desktop composition enabled. This happens on both Intel HD Ironake mobile (Apple MBP 2010) and HD-4000 Ivybridge mobile (Apple macMini 2012).
It looks like page flips are not waiting properly for rendering to complete, showing partially rendered frames at flip time.
If i revert Daniel's commit that switches legacy pageflips from the old code path to the atomic code, all problems disappear, so apparently the atomic code for Intel is not quite ready at least on those parts?
Exactly right, we've reverted the enabling patch for the time being. Daniel Stone has spotted the likely problem, but we also want to review the handling of state/old_state to see if the same problem has cropped up elsewhere. -Chris
On 07/06/2016 03:05 PM, Chris Wilson wrote:
On Wed, Jul 06, 2016 at 12:17:55PM +0200, Mario Kleiner wrote:
Since i pulled the current drm-next tree i see strong flicker and visual corruption during pageflipping, both in my own app, but also in KDE4 and KDE5 Plasma with desktop composition enabled. This happens on both Intel HD Ironake mobile (Apple MBP 2010) and HD-4000 Ivybridge mobile (Apple macMini 2012).
It looks like page flips are not waiting properly for rendering to complete, showing partially rendered frames at flip time.
If i revert Daniel's commit that switches legacy pageflips from the old code path to the atomic code, all problems disappear, so apparently the atomic code for Intel is not quite ready at least on those parts?
Exactly right, we've reverted the enabling patch for the time being. Daniel Stone has spotted the likely problem, but we also want to review the handling of state/old_state to see if the same problem has cropped up elsewhere. -Chris
Ah ok, now i see it in drm-intel-next-queued. I'm probably not adding anything new here, but wrt. your crc based tests not catching it, while it happens all the time for me under KDE, in my own fullscreen app, it only obviously happens for some tests, the more graphics heavy ones not others, so probably (gfx-)load dependent? Maybe the tests don't put enough work onto the gpu to still keep it rendering at flip time.
-mario
dri-devel@lists.freedesktop.org