diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-06-19 10:20:54 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-06-19 10:24:24 +0100 |
commit | 4acf727941a37651f672db3774281a437940c540 (patch) | |
tree | 5d90f4234721617bb915831de39ec0a6b4cbcec6 /src/sna/sna_trapezoids.c | |
parent | b0b2d3c9663c29e9844aef1608416ae40c194b55 (diff) |
sna: Initialize the color value for fallback unaligned boxes
Reported-by:Zdenek Kabelac <zkabelac@redhat.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=5047
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_trapezoids.c')
-rw-r--r-- | src/sna/sna_trapezoids.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sna/sna_trapezoids.c b/src/sna/sna_trapezoids.c index cb9fd7c0..92be480a 100644 --- a/src/sna/sna_trapezoids.c +++ b/src/sna/sna_trapezoids.c @@ -51,6 +51,7 @@ #endif #define NO_ACCEL 0 +#define FORCE_FALLBACK 0 #define NO_ALIGNED_BOXES 0 #define NO_UNALIGNED_BOXES 0 #define NO_SCAN_CONVERTER 0 @@ -3109,7 +3110,8 @@ static inline uint32_t mul_4x8_8(uint32_t color, uint8_t alpha) { uint32_t v; - v = multa(color, alpha, 24); + v = 0; + v |= multa(color, alpha, 24); v |= multa(color, alpha, 16); v |= multa(color, alpha, 8); v |= multa(color, alpha, 0); @@ -3308,6 +3310,7 @@ pixman: pi.source = pixman_image_create_bits(PIXMAN_a8r8g8b8, 1, 1, NULL, 0); pixman_image_set_repeat(pi.source, PIXMAN_REPEAT_NORMAL); pi.bits = pixman_image_get_data(pi.source); + pi.color = color; pi.op = op; count = REGION_NUM_RECTS(&clip); @@ -5327,7 +5330,7 @@ sna_composite_trapezoids(CARD8 op, goto fallback; } - force_fallback = false; + force_fallback = FORCE_FALLBACK; if ((too_small(priv) || DAMAGE_IS_ALL(priv->cpu_damage)) && !picture_is_gpu(src)) { DBG(("%s: force fallbacks -- dst is too small, %dx%d\n", |