summaryrefslogtreecommitdiff
path: root/src/drmmode_display.h
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2016-11-22 16:30:59 +0900
committerMichel Dänzer <michel.daenzer@amd.com>2016-11-22 16:30:59 +0900
commitf9ba1e8fd48cd967a09c4e083b277505d08d3849 (patch)
tree787266fee2af8a23af34e46717d65a6d21b86b41 /src/drmmode_display.h
parente8aa4e7ea59f00d5527654b7181a05aab8c78928 (diff)
Use DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags when available
(Ported from radeon commits 1106b2f773ad0611c729b27f4c192a26b43ef1e7 and 5fea5ef2f07eee4a0f94baab427010b936f1d4b4) v2: * Squash in radeon fix for TearFree regression * Remove preprocessor guards for compatibility with libdrm < 2.4.72 (Emil Velikov) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/drmmode_display.h')
-rw-r--r--src/drmmode_display.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 2c4a869..639b3fb 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -130,6 +130,16 @@ enum drmmode_flip_sync {
};
+extern int drmmode_page_flip_target_absolute(AMDGPUEntPtr pAMDGPUEnt,
+ drmmode_crtc_private_ptr drmmode_crtc,
+ int fb_id, uint32_t flags,
+ uintptr_t drm_queue_seq,
+ uint32_t target_msc);
+extern int drmmode_page_flip_target_relative(AMDGPUEntPtr pAMDGPUEnt,
+ drmmode_crtc_private_ptr drmmode_crtc,
+ int fb_id, uint32_t flags,
+ uintptr_t drm_queue_seq,
+ uint32_t target_msc);
extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp);
extern void drmmode_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
extern void drmmode_fini(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
@@ -153,7 +163,8 @@ Bool amdgpu_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
PixmapPtr new_front, uint64_t id, void *data,
int ref_crtc_hw_id, amdgpu_drm_handler_proc handler,
amdgpu_drm_abort_proc abort,
- enum drmmode_flip_sync flip_sync);
+ enum drmmode_flip_sync flip_sync,
+ uint32_t target_msc);
int drmmode_crtc_get_ust_msc(xf86CrtcPtr crtc, CARD64 *ust, CARD64 *msc);
int drmmode_get_current_ust(int drm_fd, CARD64 * ust);