From 5745bcb2dbfcaab53df89125d08689b51b9126ea Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Sun, 25 Apr 2010 15:40:06 +0100 Subject: llvmpipe: Fix buffer overflow unswizzling several formats. Array formats without for channels were being advanced as four channels, causing buffer overflows. --- src/gallium/drivers/llvmpipe/lp_tile_soa.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/drivers/llvmpipe') diff --git a/src/gallium/drivers/llvmpipe/lp_tile_soa.py b/src/gallium/drivers/llvmpipe/lp_tile_soa.py index b2f800afd8..5ab63cbac6 100644 --- a/src/gallium/drivers/llvmpipe/lp_tile_soa.py +++ b/src/gallium/drivers/llvmpipe/lp_tile_soa.py @@ -257,7 +257,7 @@ def emit_tile_pixel_unswizzle_code(format, src_channel): value = 'TILE_PIXEL(src, x, y, %u)' % inv_swizzle[i] value = conversion_expr(src_channel, dst_channel, dst_native_type, value, clamp=False) print ' *dst_pixel++ = %s;' % value - else: + elif dst_channel.size: print ' ++dst_pixel;' else: assert False -- cgit v1.2.3