summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2011-11-14 09:34:07 +0000
committerDave Airlie <[email protected]>2011-11-14 09:35:17 +0000
commitb04d19da104729ef0d72981ba66f4d9c9d9f9509 (patch)
tree3fd47ae3ed7e96099b1266f3f7ef1ba63a97ca61
parent579c04e42ef1bb449fe86d7224ccfe0c2d569595 (diff)
llvmpipe: fix unswizzle of packed float types.
I messed up adding the ubyte->float conversion. This fixes getteximage-formats https://bugs.freedesktop.org/show_bug.cgi?id=42837 Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--src/gallium/drivers/llvmpipe/lp_tile_soa.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_tile_soa.py b/src/gallium/drivers/llvmpipe/lp_tile_soa.py
index bbceb9f3146..d548ad845c7 100644
--- a/src/gallium/drivers/llvmpipe/lp_tile_soa.py
+++ b/src/gallium/drivers/llvmpipe/lp_tile_soa.py
@@ -256,12 +256,12 @@ def emit_tile_pixel_unswizzle_code(format, src_channel):
if format.name == 'PIPE_FORMAT_R11G11B10_FLOAT':
print ' float tmp[3];'
for i in range(3):
- print ' tmp[%d] = (float)TILE_PIXEL(src, x, y, %u);' % (i, inv_swizzle[i])
+ print ' tmp[%d] = ubyte_to_float(TILE_PIXEL(src, x, y, %u));' % (i, inv_swizzle[i])
print ' *dst_pixel++ = float3_to_r11g11b10f(tmp);'
elif format.name == 'PIPE_FORMAT_R9G9B9E5_FLOAT':
print ' float tmp[3];'
for i in range(3):
- print ' tmp[%d] = (float)TILE_PIXEL(src, x, y, %u);' % (i, inv_swizzle[i])
+ print ' tmp[%d] = ubyte_to_float(TILE_PIXEL(src, x, y, %u));' % (i, inv_swizzle[i])
print ' *dst_pixel++ = float3_to_rgb9e5(tmp);'
elif format.layout == PLAIN:
if not format.is_array():