From 7fa966df0ee781fa486715710f389b148c11d36e Mon Sep 17 00:00:00 2001 From: Aaron Plattner Date: Fri, 6 Jun 2008 23:02:51 -0700 Subject: [PATCH] Decide based on the image formats whether we need wide compositing. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Søren Sandmann Pedersen --- pixman/pixman-compose.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pixman/pixman-compose.c b/pixman/pixman-compose.c index 812e70d..c583ea6 100644 --- a/pixman/pixman-compose.c +++ b/pixman/pixman-compose.c @@ -549,7 +549,13 @@ void pixman_composite_rect_general (const FbComposeData *data) { uint32_t _scanline_buffer[SCANLINE_BUFFER_LENGTH * 3]; - const int wide = 0; + const pixman_format_code_t srcFormat = data->src->type == BITS ? data->src->bits.format : 0; + const pixman_format_code_t maskFormat = data->mask && data->mask->type == BITS ? data->mask->bits.format : 0; + const pixman_format_code_t destFormat = data->dest->type == BITS ? data->dest->bits.format : 0; + const int srcWide = PIXMAN_FORMAT_16BPC(srcFormat); + const int maskWide = data->mask && PIXMAN_FORMAT_16BPC(maskFormat); + const int destWide = PIXMAN_FORMAT_16BPC(destFormat); + const int wide = srcWide || maskWide || destWide; const int Bpp = wide ? 8 : 4; uint8_t *scanline_buffer = (uint8_t*)_scanline_buffer; uint8_t *src_buffer, *mask_buffer, *dest_buffer; -- 2.7.4