xserver/hw/xfree86/drivers/modesetting
Alex Goins f4c37eeee7 modesetting: Internal storage of scanout pixmaps
modesetting relied on randr_crtc->scanout_pixmap being consistent with
calls to SetScanoutPixmap, which is very fragile and makes a lot of
assumptions about the caller's behavior.

For example, RRReplaceScanoutPixmap(), when dropping off with !size_fits,
will set randr_crtc->scanout_pixmap = NULL and then call SetScanoutPixmap.
Without this patch, drmmode_set_scanout_pixmap_(cpu/gpu) will think that
there is no scanout pixmap to tear down, because it's already been set to
NULL.

By keeping track of the scanout pixmap in its internal state, modesetting
can avoid these types of bugs and reduce constraints on calling
conventions.

v1: N/A
v2: N/A
v3: N/A
v4: N/A
v5: Initial commit
v6: Rebase onto ToT
v7: Unchanged

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Alex Goins <agoins@nvidia.com>
2016-06-28 12:56:21 -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: Internal storage of scanout pixmaps 2016-06-28 12:56:21 -04:00
driver.h modesetting: add support for background none. 2016-05-02 18:21:10 -04:00
drmmode_display.c modesetting: Internal storage of scanout pixmaps 2016-06-28 12:56:21 -04:00
drmmode_display.h modesetting: Internal storage of scanout pixmaps 2016-06-28 12:56:21 -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