Keep track of how many SW cursors are visible on each screen

Graphics / X.Org / xf86-video-ati - Michel Dänzer [amd.com] - 28 December 2017 14:17 EST

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

(Ported from amdgpu commit 69e20839bfeb3ee0b0a732d72de0a32d6c5435fc)

1fe8ca75 Keep track of how many SW cursors are visible on each screen
src/drmmode_display.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/drmmode_display.h | 4 ++++
src/radeon.h | 13 +++++++++++++
src/radeon_dri2.c | 2 +-
src/radeon_kms.c | 28 ++++++++++++++++++++++++++++
src/radeon_present.c | 2 +-
6 files changed, 98 insertions(+), 2 deletions(-)

Upstream: cgit.freedesktop.org


  • Share