xserver/hw/xfree86/drivers/modesetting
Alex Goins 325f694e97 modesetting: Implement ms_covering_randr_crtc() for ms_present_get_crtc()
ms_present_get_crtc() returns an RRCrtcPtr, but derives it from a xf86CrtcPtr
found via ms_dri2_crtc_covering_drawable()=>ms_covering_crtc(). As a result, it
depends on all associated DIX ScreenRecs having an xf86CrtcConfigPtr DDX
private.

Some DIX ScreenRecs don't have an xf86CrtcConfigPtr DDX private, but do have an
rrScrPrivPtr DDX private. Given that we can derive all of the information we
need from RandR, we can support these screens by avoiding the use of xf86Crtc.
This change implements an RandR-based path for ms_present_get_crtc(), allowing
drawables to successfully fall back to syncing to the primary output, even if
the slave doesn't have an xf86CrtcConfigPtr DDX private.

Without this change, if a slave doesn't have an xf86CrtcConfigPtr DDX private,
drawables will fall back to 1 FPS if they overlap an output on that slave.

Signed-off-by: Alex Goins <agoins@nvidia.com>
(cherry picked from commit 562c7888be)
2019-11-11 14:46:32 -08:00
..
Makefile.am modesetting: Fix broken manpage in autoconf build 2019-10-30 19:38:30 +00:00
dri2.c modesetting: Fix inverted check in dri2 WaitMSC 2018-04-17 10:26:25 -04:00
driver.c modesetting: get pEnt after error checks 2018-10-04 17:26:20 +02:00
driver.h modesetting: Implement ms_covering_randr_crtc() for ms_present_get_crtc() 2019-11-11 14:46:32 -08:00
drmmode_display.c modesetting: fix conn_id termination and potential overrun by 1 byte 2019-02-20 14:23:33 -05:00
drmmode_display.h During reset/shutdown, clean up leases in DIX instead of each driver 2018-08-07 12:08:01 -04:00
dumb_bo.c modesetting: Include dix-config.h from dumb_bo.c 2015-05-12 08:02:11 -07:00
dumb_bo.h modesetting: Drop dumb_bo::map_count field and dead unmap code. 2014-12-11 11:26:19 -08:00
meson.build modesetting: set gbm as dependency in meson build 2018-05-08 12:41:58 -04:00
modesetting.man modesetting: Document Option "DoubleShadow" in the man page 2018-10-04 17:25:52 +02:00
pageflip.c modesetting: Use atomic modesetting to set DPMS mode 2018-04-04 14:01:48 -04:00
present.c modesetting: Implement ms_covering_randr_crtc() for ms_present_get_crtc() 2019-11-11 14:46:32 -08:00
vblank.c modesetting: Implement ms_covering_randr_crtc() for ms_present_get_crtc() 2019-11-11 14:46:32 -08:00