xserver/hw/xfree86/drivers/modesetting
Alex Goins 44cb9578c0 modesetting: Disable Reverse PRIME for i915
Reverse PRIME seems to be designed with discrete graphics as a sink in
mind, designed to do an extra copy from sysmem to vidmem to prevent a
discrete chip from needing to scan out from sysmem.

The criteria it used to detect this case is if we are a GPU screen and
Glamor accelerated. It's possible for i915 to fulfill these conditions,
despite the fact that the additional copy doesn't make sense for i915.

Normally, you could just set AccelMethod = none as an option for the device
and call it a day. However, when running with modesetting as both the sink
and the source, Glamor must be enabled.

Ideally, you would be able to set AccelMethod individually for devices
using the same driver, but there seems to be a bug in X option parsing that
makes all devices on a driver inherit the options from the first detected
device. Thus, glamor needs to be enabled for all or for none until that bug
(if it's even a bug) is fixed.

Nonetheless, it probably doesn't make sense to do the extra copy on i915
even if Glamor is enabled for the device, so this is more user friendly by
not requiring users to disable acceleration for i915.

v1: N/A
v2: N/A
v3: N/A
v4: Initial commit
v5: Unchanged
v6: Rebase onto ToT
v7: NULL check and free drmVersionPtr

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Alex Goins <agoins@nvidia.com>
2016-06-28 12:56:43 -04:00
..
Makefile.am modesetting: Add vblank synchronization support when using Present. 2014-12-25 13:39:19 -08:00
dri2.c modesetting: avoid double free if AddResource fails 2016-03-08 10:19:55 -05:00
driver.c modesetting: Disable Reverse PRIME for i915 2016-06-28 12:56:43 -04:00
driver.h modesetting: add support for background none. 2016-05-02 18:21:10 -04:00
drmmode_display.c modesetting: Suspend and resume flipping with DPMS 2016-06-28 12:56:35 -04:00
drmmode_display.h modesetting: Implement PRIME syncing as a sink 2016-06-28 12:56:30 -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
modesetting.man modesetting: Add more missing options to man page. 2015-08-13 00:36:12 +01:00
present.c modesetting: Clear drmmode->fb_id before unflipping 2016-06-17 11:38:13 +02:00
vblank.c modesetting: Use NotifyFd for drm event monitoring 2015-12-01 13:55:25 -05:00