summaryrefslogtreecommitdiff
path: root/src/drmmode_display.h
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2017-12-22 18:33:58 +0100
committerMichel Dänzer <michel@daenzer.net>2017-12-27 16:57:17 +0100
commit69e20839bfeb3ee0b0a732d72de0a32d6c5435fc (patch)
tree7731b5dc00f69041610040b33d0088fcf7e86813 /src/drmmode_display.h
parentdfccaa7043ccb157a1f8be7313123792bb7e7001 (diff)
Keep track of how many SW cursors are visible on each screen
And use this to determine when we cannot use page flipping for DRI clients. We previously did this based on whether the HW cursor cannot be used on at least one CRTC, which had at least two issues: * Even while the HW cursor cannot be used, no SW cursor may actually be visible (e.g. because all cursors are disabled), in which case we can use page flipping for DRI clients anyway * Even while the HW cursor can be used, there may be SW cursors visible from non-core pointer devices, in which case we cannot use page flipping for DRI clients anyway Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/drmmode_display.h')
-rw-r--r--src/drmmode_display.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 03134f0..4e6f707 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -198,6 +198,10 @@ extern int drmmode_page_flip_target_relative(AMDGPUEntPtr pAMDGPUEnt,
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);
+extern void drmmode_sprite_set_cursor(DeviceIntPtr pDev, ScreenPtr pScreen,
+ CursorPtr pCursor, int x, int y);
+extern void drmmode_sprite_move_cursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x,
+ int y);
extern void drmmode_set_cursor(ScrnInfoPtr scrn, drmmode_ptr drmmode, int id,
struct amdgpu_buffer *bo);
void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y);