From 5785f22d230bc7249dfcd91bbbaa4e77816128e4 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Wed, 9 Jan 2013 14:38:14 -0800 Subject: [PATCH] gallivm: fix border color for integer textures MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Need to bitcast the float border color (luckily we already get the color as int just disguised as float). Fixes piglit texwrap GL_EXT_texture_integer bordercolor. Reviewed-by: José Fonseca --- src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c index 57298a47ffa..918dd36fbf5 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c @@ -190,6 +190,11 @@ lp_build_sample_texel_soa(struct lp_build_sample_context *bld, lp_build_const_int32(bld->gallivm, chan)); LLVMValueRef border_chan_vec = lp_build_broadcast_scalar(&bld->float_vec_bld, border_chan); + + if (!bld->texel_type.floating) { + border_chan_vec = LLVMBuildBitCast(builder, border_chan_vec, + bld->texel_bld.vec_type, ""); + } texel_out[chan] = lp_build_select(&bld->texel_bld, use_border, border_chan_vec, texel_out[chan]); } -- 2.30.2