Commit fa1b3055 introducted a regression in the pixman renderer.  In
particular, it would not draw properly with any output transform other
than normal, 180, 180-flipped, or 270-flipped.  This patch fixes this
regression.  The weston-scalar program appears to work normally at all
rotations with this patch.  Therefore, this patch should fix the regression
while maintaining the added functionality from fa1b3055.

Signed-off-by: Jason Ekstrand <[email protected]>
---
 src/pixman-renderer.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/pixman-renderer.c b/src/pixman-renderer.c
index 26f6f27..e9e907e 100644
--- a/src/pixman-renderer.c
+++ b/src/pixman-renderer.c
@@ -276,12 +276,8 @@ repaint_region(struct weston_view *ev, struct 
weston_output *output,
                                                             
pixman_double_to_fixed(viewport_y));
        }
 
-       pixman_transform_scale(&transform, NULL,
-                              
pixman_double_to_fixed(ev->surface->buffer_viewport.scale),
-                              
pixman_double_to_fixed(ev->surface->buffer_viewport.scale));
-
-       fw = pixman_int_to_fixed(pixman_image_get_width(ps->image));
-       fh = pixman_int_to_fixed(pixman_image_get_height(ps->image));
+       fw = pixman_int_to_fixed(ev->surface->width);
+       fh = pixman_int_to_fixed(ev->surface->height);
 
        switch (ev->surface->buffer_viewport.transform) {
        case WL_OUTPUT_TRANSFORM_FLIPPED:
@@ -317,6 +313,10 @@ repaint_region(struct weston_view *ev, struct 
weston_output *output,
                break;
        }
 
+       pixman_transform_scale(&transform, NULL,
+                              
pixman_double_to_fixed(ev->surface->buffer_viewport.scale),
+                              
pixman_double_to_fixed(ev->surface->buffer_viewport.scale));
+
        pixman_image_set_transform(ps->image, &transform);
 
        if (ev->transform.enabled || output->current_scale != 
ev->surface->buffer_viewport.scale)
-- 
1.8.5.3

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to