From: José Fonseca Date: Fri, 26 Feb 2010 10:12:32 +0000 (+0000) Subject: llvmpipe: Fix lp_tile_r5g6b5_unorm_write_4ub. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8416d342792910bfffcc8806dba0ee35a395b31d;p=mesa.git llvmpipe: Fix lp_tile_r5g6b5_unorm_write_4ub. Was using 32bit integer pointers instead of 16bits. --- diff --git a/src/gallium/drivers/llvmpipe/lp_tile_soa.py b/src/gallium/drivers/llvmpipe/lp_tile_soa.py index a66a846f8e6..4d04905958e 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)