<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - xf86-video-intel-2.99.912 and newer causing flickering on game."
href="https://bugs.freedesktop.org/show_bug.cgi?id=81973#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - xf86-video-intel-2.99.912 and newer causing flickering on game."
href="https://bugs.freedesktop.org/show_bug.cgi?id=81973">bug 81973</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>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,
¤t_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 <a href="show_bug.cgi?id=81973#c4">comment #4</a>)
<span class="quote">> 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.</span >
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.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>