summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_tile_soa.py
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-02-26 10:12:32 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-02-26 10:12:53 +0000
commit8416d342792910bfffcc8806dba0ee35a395b31d (patch)
tree60fb40ca821c4aa8df0a918b95bb1dde20bedddf /src/gallium/drivers/llvmpipe/lp_tile_soa.py
parenteee21b3812ce8e1d8c4ebbeb89d86c60867d1116 (diff)
llvmpipe: Fix lp_tile_r5g6b5_unorm_write_4ub.
Was using 32bit integer pointers instead of 16bits.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_tile_soa.py')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_tile_soa.py3
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 a66a846f8e..4d04905958 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)