[PATCH xserver 00/10] modesetting: MS_ALL_IN_ONE
Qiang Yu
Qiang.Yu at amd.com
Fri Jan 6 14:25:22 UTC 2017
This is for hybrid drm device use case that one drm device
is only capable of display and the other is only capable of
rendering.
Usage: start xserver with MS_ALL_IN_ONE=1, and configure both
the display (Screen) and render (GPUScreen) drm devices using
modesetting DDX, it will use Screen as display, GPUScreen as
render and create only one screen.
Client see only the render device and load render device's DRI
driver. Server side render is also accelerated by the render
device. Display device only display what render device draws.
There is still one problem: DRI3 can't support page flip because
client doesn't know when to create a linear pixmap for flip.
Further improvement: support multi display drm devices
when the render device is also capable of display.
Tested on a laptop with Intel iGPU and AMD dGPU.
Qiang Yu (10):
modesetting: add MS_ALL_IN_ONE handling
modesetting: add is_primary to mark entity type
modesetting: remove unused PciInfo in modesettingRec
modesetting: add render entity init and free
Revert "modesetting: Delete dead drmmode_bo_for_pixmap function."
dri2: refine dri2_probe_driver_name
modesetting: separate render and display
modesetting: use drmmode_bo_for_pixmap in ms_do_pageflip
modesetting: dri2 allocate linear backbuffer
modesetting: allow display node has no gbm support
hw/xfree86/dri2/dri2.c | 35 ++--
hw/xfree86/drivers/modesetting/dri2.c | 33 +++-
hw/xfree86/drivers/modesetting/driver.c | 240 ++++++++++++++++-------
hw/xfree86/drivers/modesetting/driver.h | 9 +-
hw/xfree86/drivers/modesetting/drmmode_display.c | 128 +++++++++++-
hw/xfree86/drivers/modesetting/drmmode_display.h | 3 +
hw/xfree86/drivers/modesetting/dumb_bo.c | 11 ++
hw/xfree86/drivers/modesetting/dumb_bo.h | 1 +
hw/xfree86/drivers/modesetting/pageflip.c | 4 +-
hw/xfree86/drivers/modesetting/present.c | 6 +
10 files changed, 367 insertions(+), 103 deletions(-)
--
2.7.4
More information about the xorg-devel
mailing list