From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 79223] New: extra vsync when reading back pixels in xbmc
Date: Sun, 25 May 2014 19:10:07 +0000
Message-ID:
Priority
medium
Bug ID
79223
Assignee
dri-devel@lists.freedesktop.org
Summary
extra vsync when reading back pixels in xbmc
Severity
normal
Classification
Unclassified
OS
All
Reporter
pierre-bugzilla@ossman.eu
Hardware
Other
Status
NEW
Version
unspecified
Component
DRM/Radeon
Product
DRI
Something is causing an extra wait for vsync in xbmc when it needs to read back
pixels. This seems to be specific to the radeon driver as I'm not seeing it
with nouveau.
Test scenario:
- Configure xbmc to wait for vsync
- Install something that activates xbmc's capture code (e.g. xbmc's boblight
plugin)
- Play a video whose framerate > screen refresh / 2
You'll see the frame rate reliably locked to screen refresh / 2 under these
circumstances. A major problem as you generally want to run with a 24 Hz
refresh rate for 24 Hz films.
I'm unable to pinpoint exactly the offending GL command as xbmc's rendering is
quite complex. I hope you're more experienced in finding these things. :)
The rough sequence of events is:
1. xbmc renders the scene
2. Wait for vsync
3. Map PBO and memcpy data. (from previous frame)
4. Render small version of scene
5. glReadPixels into PBO