[Bug 81973] xf86-video-intel-2.99.912 and newer causing flickering on game.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jul 31 23:40:49 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=81973

--- Comment #5 from Chris Wilson <chris at chris-wilson.co.uk> ---
Outside of skipping SwapBuffers if the buffers are stale, there is not much in
there (it's mostly taken up by a rename).

Just to rule out a common issue, first try:

diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index 5d1c3da..4d006f8 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -2918,7 +2918,7 @@ sna_dri2_schedule_swap(ClientPtr client, DrawablePtr
draw, DRI2BufferPtr front,

        if (immediate_swap(sna, *target_msc, divisor, draw, crtc,
&current_msc)) {
                bool sync = current_msc < *target_msc;
-               if (!sna_dri2_immediate_blit(sna, info, sync, true))
+               if (!sna_dri2_immediate_blit(sna, info, true, true))
                        sna_dri2_event_free(sna, draw, info);
                *target_msc = current_msc + sync;
                return TRUE;


(which disables adaptive vsync), then try:

diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index 5d1c3da..57cedd6 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -2856,7 +2856,7 @@ sna_dri2_schedule_swap(ClientPtr client, DrawablePtr
draw, DRI2BufferPtr front,
                goto skip;

        if (get_private(back)->stale)
-               goto skip;
+               ErrorF("rendering with a stale back buffer, client didn't call
GetBuffers before SwapBuffers\n");

        assert(sna_pixmap_from_drawable(draw)->flush);



(In reply to comment #4)
> Well, maybe this is a non-problem. I noticed some tearing while running that
> game. So I enabled TearFree and that fixes the random flickering blotches
> with 2.99.914. Yahoo!!! I'm one of the developers of Fatdog64, would there
> be any downside if we enable TearFree by default? I looked at the man page,
> I'm guessing it's off by default because most folks run a compositing window
> manager.

TearFree offers advantages even with a compositing manager since it enables the
single crtc flips (useful for playing games on a single screen in a
multimonitor setup). And it should really present any extra overhead in the
compositing scenario. The only reason I have left it off for now (it is enabled
by default in some powersaving modes) is the worry I have with reserving space
for an extra framebuffer in our early (8xx) chipsets.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20140801/dbe7a72f/attachment.html>


More information about the intel-gfx-bugs mailing list