summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2012-12-17 22:06:40 +0100
committerRoland Scheidegger <[email protected]>2012-12-18 01:57:35 +0100
commitdc613f11ddf1f3a6e10c2d99830fb1a84fdb55b2 (patch)
tree6e8a42e76939548f49617ab40ce971cb0fe2d7b8 /src
parent12f3b3d43732b6f9dbed72457a75b131ad621793 (diff)
gallivm: fix conversion for pure integer formats
Since the idea is to just expand or shrink the bit width but not otherwise do conversion we also need to adjust the sign bit according to src, otherwise the conversion code will incorrectly clamp the values. (Since this only works for casting to ordinary floats the norm and fixed bits should always be fine.) This fixes the remaining piglit attribs GL3 failures. Reviewed-by: José Fonseca <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
index 1eb94466280..9642b9ecfed 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
@@ -150,6 +150,7 @@ lp_build_fetch_rgba_aos_array(struct gallivm_state *gallivm,
if (pure_integer) {
assert(dst_type.floating);
tmp_type.floating = 0;
+ tmp_type.sign = src_type.sign;
}
/* Convert to correct format */