xf86-video-ati: Changes to 'kms-pflip'
Alex Deucher
agd5f at kemper.freedesktop.org
Wed Dec 1 17:32:25 PST 2010
New branch 'kms-pflip' available with the following commits:
commit f48af8a6cfa1ac665f07b8f9712e94b77bc4f5e9
Author: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
Date: Tue Nov 23 04:41:53 2010 +0100
ddx/ati: Fix reporting of pageflip completion events on multi-head.
When a drawable is page-flipped on multiple crtc's (fullscreen
drawable on mirror-mode or multi-head x-screen), only one pageflip
event is finally delivered, after the last participating crtc signals
flip completion, this to avoid visual corruption.
Old code returned vblank count and timestamps of flip completion
of this last crtc, instead of the values of the "master crtc", the
one that was used for initially scheduling/triggering the pagflip
via vblank events. (master = radeon_dri2_drawable_crtc(drawable))
This patch makes sure that the pageflip completion values of the
"master" crtc are returned, otherwise client applications will
get confused by the random (msc, ust) values returned by whichever
crtc was the last to complete its flip. Without this, the returned
values change randomly and jump forward and backward in time and
count.
The patch also implements a consistency check on returned vblank
count values of pageflip completion. Impossible values are detected,
a x-warning is logged and returned (msc,ust) values are marked invalid,
so clients could perform error handling. Such a warning would indicate
bugs in the pageflip completion routine of future kms drivers or the
ddx to aid driver debugging.
Signed-off-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
commit 122536ee0aeb1eef1a9d80d5e464dcb423dc2837
Author: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
Date: Mon Nov 22 04:11:07 2010 +0100
ddx/ati: Add option "SwapbuffersWait" to control vsync of DRI2 swaps.
A new optional kms driver option "SwapbuffersWait" is defined
for xorg.conf, which defaults to "on". If "on", DRI2 bufferswaps
will be synchronized to vsync, otherwise not.
This currently only affects copy-swaps, not pageflipped swaps.
It also requires a swap_interval setting of zero by the OpenGL
client.
Ideally, we'd provide a way for dri2 to pass the current swap
interval to the ddx so we could change this dynamically.
Signed-off-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
commit 0de680730294bd623f6b3e189faa7b88a09d3a2a
Author: Alex Deucher <alexdeucher at gmail.com>
Date: Wed Nov 17 17:39:39 2010 -0500
radeon/kms: add pageflip support
requires radeon drm 2.8.0 or higher
Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
commit fccdca8db34010f566bd068c74cdef0f4a8cb7f5
Author: Alex Deucher <alexdeucher at gmail.com>
Date: Wed Nov 17 17:37:25 2010 -0500
radeon/kms: allow tiled front buffer on 6xx/7xx
Use UTS/DFS to tile/untile as appropriate for sw access.
Also enables pageflipping with tiling enabled.
More information about the xorg-commit
mailing list