[Spice-devel] [common PATCH 9/9 v4] ppc: Fix alpha state checking on BE machines

Lukas Venhoda lvenhoda at redhat.com
Wed Nov 25 08:14:35 PST 2015


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



More information about the Spice-devel mailing list