summaryrefslogtreecommitdiff
path: root/hw/xfree86/modes
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/modes')
-rw-r--r--hw/xfree86/modes/xf86Crtc.h5
-rw-r--r--hw/xfree86/modes/xf86Rotate.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
index 692bf40b9..f6ab4bacd 100644
--- a/hw/xfree86/modes/xf86Crtc.h
+++ b/hw/xfree86/modes/xf86Crtc.h
@@ -366,6 +366,11 @@ struct _xf86Crtc {
Bool shadowClear;
/**
+ * Force the shadow
+ */
+ Bool forceShadow;
+
+ /**
* Indicates that the driver is handling the transform, so the shadow
* surface should be disabled. The driver writes this field before calling
* xf86CrtcRotate to indicate that it is handling the transform (including
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 9c00a443f..f6bf531d2 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -376,7 +376,9 @@ xf86CrtcRotate(xf86CrtcPtr crtc)
&crtc_to_fb,
&f_crtc_to_fb,
&f_fb_to_crtc) &&
- xf86CrtcFitsScreen(crtc, &f_crtc_to_fb)) {
+ !crtc->forceShadow &&
+ xf86CrtcFitsScreen(crtc, &f_crtc_to_fb))
+ {
/*
* If the untranslated transformation is the identity,
* disable the shadow buffer