summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-04-10 23:11:18 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-04-10 23:12:16 +0100
commit7b2753f9cc6a1a7ca353f57d78bdf3d52f32864b (patch)
tree14352244b9e791b707c5e61602947de2135260b5
parent4950bc4fea80d44dde798f3f8b5a07eee1555a63 (diff)
sna: Only mark the transform_in_use when required for shadow fb
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index ee94806f..8cbddc29 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1390,17 +1390,19 @@ static void sna_crtc_randr(xf86CrtcPtr crtc)
xFixed *params;
int nparams;
RRTransformPtr transform;
+ int needs_transform;
transform = NULL;
if (crtc->transformPresent)
transform = &crtc->transform;
- RRTransformCompute(crtc->x, crtc->y,
- crtc->mode.HDisplay, crtc->mode.VDisplay,
- crtc->rotation, transform,
- &crtc_to_fb,
- &f_crtc_to_fb,
- &f_fb_to_crtc);
+ needs_transform =
+ RRTransformCompute(crtc->x, crtc->y,
+ crtc->mode.HDisplay, crtc->mode.VDisplay,
+ crtc->rotation, transform,
+ &crtc_to_fb,
+ &f_crtc_to_fb,
+ &f_fb_to_crtc);
filter = NULL;
params = NULL;
@@ -1420,7 +1422,7 @@ static void sna_crtc_randr(xf86CrtcPtr crtc)
filter = transform->filter;
}
#endif
- crtc->transform_in_use = TRUE;
+ crtc->transform_in_use = needs_transform;
} else
crtc->transform_in_use = sna_crtc->rotation != RR_Rotate_0;