gallivm: fix border color for integer textures

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 <jfonseca@vmware.com>
This commit is contained in:
Roland Scheidegger 2013-01-09 14:38:14 -08:00
parent 31884946b5
commit 5785f22d23

View file

@ -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]);
}