summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2013-04-02 13:20:24 +0200
committerRoland Scheidegger <[email protected]>2013-04-02 13:21:07 +0200
commit9b329f4c095a6b0aa5e55519c32fcf4c9d823e2b (patch)
tree69155b8eda9f37f9b2f0fc0fde5c7466e9025eab /src/gallium
parenta0dca4409a25b7810c28bcd64b48b3f0f159a455 (diff)
gallivm: fix signed small float to float conversion
Introduced by 5f41e08cf39d585d600aa506cdcd2f5380c60ddd, just a silly typo. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=62921.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_format_float.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_float.c b/src/gallium/auxiliary/gallivm/lp_bld_format_float.c
index 352068a21b5..f899d6d64d5 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_format_float.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_float.c
@@ -266,7 +266,7 @@ lp_build_smallfloat_to_float(struct gallivm_state *gallivm,
LLVMValueRef signmask = lp_build_const_int_vec(gallivm, i32_type, 0x80000000);
shift = lp_build_const_int_vec(gallivm, i32_type, 8 - exponent_bits);
sign = lp_build_shl(&i32_bld, src, shift);
- sign = lp_build_and(&i32_bld, signmask, src);
+ sign = lp_build_and(&i32_bld, signmask, sign);
res = lp_build_or(&i32_bld, res, sign);
}