[Bug 79223] extra vsync when reading back pixels in xbmc

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jun 2 08:48:01 PDT 2014


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

--- Comment #14 from Pierre Ossman <pierre-bugzilla at ossman.eu> ---
(In reply to comment #13)
> (In reply to comment #9)
> > No effect I'm afraid. Since this is a full screen application I assume it
> > was already using flipping and not blitting anyway?
> 
> Probably. For the sake of testing, have you tried disabling page flipping in
> addition to SwapBuffersWait?
> 

Both disabled behaves the same as just SwapBuffersWait=off as far as I can
tell. I.e. with glXSwapInterval(1) I still get problems. With
glXSwapInterval(0) I get consistent 60 fps, but tearing instead and it's
difficult to see if I get some frame jitter.

(SwapBuffersWait=on, EnablePageFlip=on and glXSwapInterval(0) also gets rid of
the massive fps drops, but has jitter instead)

> 
> (In reply to comment #12)
> > Down to dri2_drawable_get_buffers() now. I assume I'll be hitting a point
> > where I'll have to switch over to looking in the X server soon...
> 
> Yep, it's waiting for DRI2 buffer information from the X server, which is
> delayed until the previous buffer swap actually finishes.
> 

Is that expected behaviour? I.e. am I chasing an already known limitation? The
xbmc code seems to assume that those gl command will execute asynchronously as
it is using querires to determine when the rendering and glReadPixels() is
done.

> 
> FWIW, you might get somewhat less confusing timings if you call glFinish()
> before glXSwapBuffers().

I'll play around with it. But that doesn't sound like a good solution upstream
as I guess it will remove parallelism for the drivers that can do all of this
in the background?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140602/3fba7862/attachment.html>


More information about the dri-devel mailing list