From 8416d342792910bfffcc8806dba0ee35a395b31d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 26 Feb 2010 10:12:32 +0000 Subject: [PATCH] llvmpipe: Fix lp_tile_r5g6b5_unorm_write_4ub. Was using 32bit integer pointers instead of 16bits. --- src/gallium/drivers/llvmpipe/lp_tile_soa.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/llvmpipe/lp_tile_soa.py b/src/gallium/drivers/llvmpipe/lp_tile_soa.py index a66a846..4d04905 100644 --- a/src/gallium/drivers/llvmpipe/lp_tile_soa.py +++ b/src/gallium/drivers/llvmpipe/lp_tile_soa.py @@ -170,7 +170,7 @@ def emit_unrolled_write_code(format, src_type): '''Emit code for writing a block based on unrolled loops. This is considerably faster than the TILE_PIXEL-based code below. ''' - dst_native_type = intermediate_native_type(format.block_size(), False) + dst_native_type = 'uint%u_t' % format.block_size() print ' const unsigned dstpix_stride = dst_stride / %d;' % format.stride() print ' %s *dstpix = (%s *) dst;' % (dst_native_type, dst_native_type) print ' unsigned int qx, qy, i;' @@ -249,6 +249,7 @@ def generate_format_write(format, src_type, src_native_type, src_suffix): if format.layout == PLAIN \ and format.colorspace == 'rgb' \ and format.block_size() <= 32 \ + and format.is_pot() \ and not format.is_mixed() \ and format.in_types[0].kind == UNSIGNED: emit_unrolled_write_code(format, src_type) -- 2.7.4