xf86: store scanout pixmap in the xf86 struct as well.
This is so we can tell the scanout pixmap has changed between calls to the crtc set function. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
426bc0a28e
commit
22f02120eb
|
@ -225,7 +225,7 @@ typedef struct _xf86CrtcFuncs {
|
||||||
|
|
||||||
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
|
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
|
||||||
|
|
||||||
#define XF86_CRTC_VERSION 4
|
#define XF86_CRTC_VERSION 5
|
||||||
|
|
||||||
struct _xf86Crtc {
|
struct _xf86Crtc {
|
||||||
/**
|
/**
|
||||||
|
@ -376,6 +376,10 @@ struct _xf86Crtc {
|
||||||
* Added in ABI version 4
|
* Added in ABI version 4
|
||||||
*/
|
*/
|
||||||
Bool driverIsPerformingTransform;
|
Bool driverIsPerformingTransform;
|
||||||
|
|
||||||
|
/* Added in ABI version 5
|
||||||
|
*/
|
||||||
|
PixmapPtr current_scanout;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _xf86OutputFuncs {
|
typedef struct _xf86OutputFuncs {
|
||||||
|
|
|
@ -1157,6 +1157,9 @@ xf86RandR12CrtcSet(ScreenPtr pScreen,
|
||||||
if (rotation != crtc->rotation)
|
if (rotation != crtc->rotation)
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
|
|
||||||
|
if (crtc->current_scanout != randr_crtc->scanout_pixmap)
|
||||||
|
changed = TRUE;
|
||||||
|
|
||||||
transform = RRCrtcGetTransform(randr_crtc);
|
transform = RRCrtcGetTransform(randr_crtc);
|
||||||
if ((transform != NULL) != crtc->transformPresent)
|
if ((transform != NULL) != crtc->transformPresent)
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
|
@ -1218,6 +1221,7 @@ xf86RandR12CrtcSet(ScreenPtr pScreen,
|
||||||
*/
|
*/
|
||||||
crtc->desiredMode = mode;
|
crtc->desiredMode = mode;
|
||||||
crtc->desiredRotation = rotation;
|
crtc->desiredRotation = rotation;
|
||||||
|
crtc->current_scanout = randr_crtc->scanout_pixmap;
|
||||||
if (transform) {
|
if (transform) {
|
||||||
crtc->desiredTransform = *transform;
|
crtc->desiredTransform = *transform;
|
||||||
crtc->desiredTransformPresent = TRUE;
|
crtc->desiredTransformPresent = TRUE;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user