From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 79223] extra vsync when reading back pixels in xbmc
Date: Tue, 03 Jun 2014 15:07:20 +0000 [thread overview]
Message-ID: <bug-79223-502-QCqhRAwWru@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-79223-502@http.bugs.freedesktop.org/>
[-- Attachment #1.1: Type: text/plain, Size: 1806 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=79223
--- Comment #18 from Pierre Ossman <pierre-bugzilla@ossman.eu> ---
(In reply to comment #17)
>
> glReadPixels is currently always synchronous with all Gallium based drivers,
> as there's no hardware acceleration for PBOs yet.
>
Hmm... But I'm not consistently seeing a delay around glReadPixels(). The area
is small though, so maybe it just goes too fast and any delays I see is waits
for vblank...
> That said, in the scenarios you described, there would need to be at least a
> glFlush() call before waiting for vblank, otherwise the driver / hardware
> may not even start actually rendering the frame before the glXSwapBuffers
> call.
I dug around more and there are at least one glFlush() earlier. I can't swear
it covers all the drawing, but at least parts of it.
> (In reply to comment #16)
> > I guess the behaviour that xbmc is expecting is that the only time it will
> > wait for a vblank, is that explicit vblank waiting in step 2.?
> >
> > Now is that an unreasonable expectation?
>
> I'm afraid so. It would be better to use something like
> GLX_OML_sync_control's glXSwapBuffersMscOML() for timing buffer swaps,
> instead of explicitly waiting for vblank and then calling glXSwapBuffers().
It seems to fit this scenario well, yes. Unfortunately xbmc is very
non-trivial, and also has a lot of abstraction to support other backends (like
DirectX).
Their current solution seems very similar to glXWaitForMscOML() though, but
using m_glXWaitVideoSyncSGI() and conditionals.
I guess the easiest solution for now is to look at that wait function (2.) and
get rid of the degeneration condition.
As for this bug, I'm not sure if you want to close it or not?
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 2804 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2014-06-03 15:07 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-25 19:10 [Bug 79223] New: extra vsync when reading back pixels in xbmc bugzilla-daemon
2014-05-25 19:10 ` [Bug 79223] " bugzilla-daemon
2014-05-25 20:20 ` bugzilla-daemon
2014-05-28 3:09 ` bugzilla-daemon
2014-05-28 5:46 ` bugzilla-daemon
2014-05-28 7:03 ` bugzilla-daemon
2014-05-30 13:15 ` bugzilla-daemon
2014-05-30 13:21 ` bugzilla-daemon
2014-05-30 13:35 ` bugzilla-daemon
2014-05-30 13:47 ` bugzilla-daemon
2014-05-30 20:04 ` bugzilla-daemon
2014-05-30 21:23 ` bugzilla-daemon
2014-06-01 18:21 ` bugzilla-daemon
2014-06-02 7:07 ` bugzilla-daemon
2014-06-02 15:48 ` bugzilla-daemon
2014-06-02 19:24 ` bugzilla-daemon
2014-06-02 19:26 ` bugzilla-daemon
2014-06-03 6:34 ` bugzilla-daemon
2014-06-03 15:07 ` bugzilla-daemon [this message]
2019-11-19 8:49 ` bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-79223-502-QCqhRAwWru@http.bugs.freedesktop.org/ \
--to=bugzilla-daemon@freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox