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