---
 hw/xfree86/modes/xf86Rotate.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index bf6976a..dc9ad11 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -118,10 +118,10 @@ xf86RotateCrtcRedisplay (xf86CrtcPtr crtc, RegionPtr 
region)
        BoxRec  dst_box;
 
        dst_box = *b;
-       dst_box.x1 -= crtc->filter_width >> 2;
-       dst_box.x2 += crtc->filter_width >> 2;
-       dst_box.y1 -= crtc->filter_width >> 2;
-       dst_box.y2 += crtc->filter_width >> 2;
+       dst_box.x1 -= crtc->filter_width >> 1;
+       dst_box.x2 += crtc->filter_width >> 1;
+       dst_box.y1 -= crtc->filter_height >> 1;
+       dst_box.y2 += crtc->filter_height >> 1;
        PictureTransformBounds (&dst_box, &crtc->framebuffer_to_crtc);
        CompositePicture (PictOpSrc,
                          src, NULL, dst,
@@ -408,6 +408,11 @@ xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, 
Rotation rotation)
                }
            } else
                new_filter = transform->filter;
+           if (new_filter)
+           {
+               new_width = new_filter->width;
+               new_height = new_filter->height;
+           }
            PictureTransformMultiply (&crtc_to_fb, &transform->transform, 
&crtc_to_fb);
            PictureTransformMultiply (&fb_to_crtc, &fb_to_crtc, 
&transform->inverse);
        }
-- 
1.5.6.5

_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to