[PATCH v2 xserver 00/11] modesetting: MS_ALL_IN_ONE
Qiang Yu
Qiang.Yu at amd.com
Sat Jan 7 08:01:21 UTC 2017
V2: add PATCH 11 to support GPUScreen capable of display
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 one screen for them. If the render device
is also capable of display, create a GPUScreen for it in
addition.
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.
Tested on a laptop with Intel iGPU and AMD dGPU.
Qiang Yu (11):
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
modesetting: still create GPUScreen when it's capable of display
hw/xfree86/dri2/dri2.c | 35 +--
hw/xfree86/drivers/modesetting/dri2.c | 33 ++-
hw/xfree86/drivers/modesetting/driver.c | 265 ++++++++++++++++-------
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, 385 insertions(+), 110 deletions(-)
--
2.7.4
More information about the xorg-devel
mailing list