Mesa (master): llvmpipe: Fix lp_tile_r5g6b5_unorm_write_4ub.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Fri Feb 26 10:13:11 UTC 2010
Module: Mesa
Branch: master
Commit: 8416d342792910bfffcc8806dba0ee35a395b31d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8416d342792910bfffcc8806dba0ee35a395b31d
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Feb 26 10:12:32 2010 +0000
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 files changed, 2 insertions(+), 1 deletions(-)
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)
More information about the mesa-commit
mailing list