From dc613f11ddf1f3a6e10c2d99830fb1a84fdb55b2 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Mon, 17 Dec 2012 22:06:40 +0100 Subject: [PATCH] gallivm: fix conversion for pure integer formats MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c | 1 + 1 file changed, 1 insertion(+) 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 1eb9446..9642b9e 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 */ -- 2.7.4