The surface before conversion can be either LE or BE on a BE machine.
Check against both BE and LE color order on BE machine.
---
Fixed for git-am when using without patch 1/9 from this series.

Changes since v3:
 - Removed alpha clearing
    - The change actually broke alpha
 - Added dual color order checking
    - On BE machines it can be both ARGB and RGBA

Changes since v2:
 - Added macro for proper alpha clearing
 - Improved commit msg

Changes since v1:
 - New commit
---
 common/canvas_base.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/common/canvas_base.c b/common/canvas_base.c
index c30e35d..d918441 100644
--- a/common/canvas_base.c
+++ b/common/canvas_base.c
@@ -1264,6 +1264,9 @@ static pixman_image_t 
*canvas_get_image_internal(CanvasBase *canvas, SpiceImage
            If so we convert here. */

         wanted_format = canvas_get_target_format(canvas,
+#ifdef WORDS_BIGENDIAN
+                                                 surface_format == 
PIXMAN_b8g8r8a8 ||
+#endif
                                                  surface_format == 
PIXMAN_a8r8g8b8);

         if (surface_format != wanted_format) {
--
2.5.0

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to