xf86-video-ati: Branch 'master' - 2 commits
Michel Dänzer
daenzer at kemper.freedesktop.org
Mon May 11 00:31:45 PDT 2015
src/radeon_present.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
New commits:
commit 80eede245d1eda27eaba108b0761a24bfd69aff6
Author: Mario Kleiner <mario.kleiner.de at gmail.com>
Date: Sat May 9 07:24:36 2015 +0200
present: Fix present notify timestamps and counts.
Invalid (msc,ust)=(0,0) were returned to the server
because a wrong crtc_id was used to specify which
crtc should deliver pageflip completion data. Fix
it in accordance with the dri2 implementation.
Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
diff --git a/src/radeon_present.c b/src/radeon_present.c
index d9e20bc..53819e0 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -309,8 +309,8 @@ radeon_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc,
ScreenPtr screen = crtc->pScreen;
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
struct radeon_present_vblank_event *event;
- drmmode_crtc_private_ptr drmmode_crtc = get_drmmode_crtc(scrn, crtc);
- int crtc_id = drmmode_crtc->mode_crtc->crtc_id;
+ xf86CrtcPtr xf86_crtc = crtc->devPrivate;
+ int crtc_id = xf86_crtc ? drmmode_get_crtc_id(xf86_crtc) : -1;
uint32_t handle;
Bool ret;
commit e3be8b0a8cf484ff16597413a6172788178e80c8
Author: Mario Kleiner <mario.kleiner.de at gmail.com>
Date: Sat May 9 07:24:35 2015 +0200
present: Move check for async flips
Check for and reject currently unsupported async_flip
inside radeon_present_check_flip() instead of inside
radeon_present_flip().
This way the server can detect early that async flips
aren't supported by the ddx and can deal with this
correctly by using its non-vsync'ed CopyRegion fallback.
Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
diff --git a/src/radeon_present.c b/src/radeon_present.c
index 5b1d5ab..d9e20bc 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -251,6 +251,9 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
if (!info->allowPageFlip)
return FALSE;
+ if (!sync_flip)
+ return FALSE;
+
/* The kernel driver doesn't handle flipping between BOs with different
* tiling parameters correctly yet
*/
@@ -311,9 +314,6 @@ radeon_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc,
uint32_t handle;
Bool ret;
- if (!sync_flip)
- return FALSE;
-
if (!radeon_present_check_flip(crtc, screen->root, pixmap, sync_flip))
return FALSE;
More information about the xorg-commit
mailing list