Bug 96695 - [HSW/BDW Bisected] 3D graphics show previous buffers
Summary: [HSW/BDW Bisected] 3D graphics show previous buffers
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-27 13:24 UTC by Pekka Jylhä-Ollila
Modified: 2016-08-06 17:11 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Pekka Jylhä-Ollila 2016-06-27 13:24:03 UTC
Buffer swapping was broken in commit cac7c8dc4b154d37ff27430aa7b714ac84f3d092.

When rendering 3D graphics, old buffer contents show up between all rendered frames. This happens in both fullscreen and windowed mode.

The problem is visible on Haswell and Broadwell but not on Skylake, with both DRI2 and DRI3. It can be easily seen when running a GPU intensive program like FurMark.
Comment 1 Chris Wilson 2016-07-04 09:24:57 UTC
Spotted something that should be relevant:

commit 4556ac396ed46a476cc970946011e377451346ff
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jul 4 10:07:51 2016 +0100

    sna: Track TearFree shadow as an active scanout

If it is along these lines, we should be trigger an assert when compiled with --enable-debug.
Comment 2 Pekka Jylhä-Ollila 2016-07-04 12:04:16 UTC
The issue was fixed in the latest commits.

This commit:

commit bc369bbf4aed9df3c802bf8759bbdcdd1232f893
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jun 28 12:26:55 2016 +0100

    sna: Avoid recursion by testing shadow.wait

fixed fullscreen buffer swapping on Broadwell, and this commit:

commit 26f8ab5429a554801641415f0ab3b2d68cea1d00
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jul 4 10:11:50 2016 +0100

    sna: Restore local damage processing for TearFree/DRI2/swcursor early

fixed the issue in windowed mode.

Both platforms work correctly now, so I'll change the bug status to fixed.
Comment 3 Arkadiusz Miskiewicz 2016-08-06 17:03:29 UTC
bc369bbf4aed9df3c802bf8759bbdcdd1232f893 actually causes regression for me like that: https://www.youtube.com/watch?v=OceCdwR5sB8

Reverting this commit makes problem go away.


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.