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.
---
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 cc87f55..937506c 100644
--- a/common/canvas_base.c
+++ b/common/canvas_base.c
@@ -1271,6 +1271,9 @@ static pixman_image_t
*canvas_get_image_internal(CanvasBase *canvas, SpiceImage
/* On BE machines, we want to explicitly convert the surface all the
time */
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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel