Mesa (master): gallivm: fix border color for integer textures
Roland Scheidegger
sroland at kemper.freedesktop.org
Fri Jan 11 02:11:08 UTC 2013
Module: Mesa
Branch: master
Commit: 5785f22d230bc7249dfcd91bbbaa4e77816128e4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5785f22d230bc7249dfcd91bbbaa4e77816128e4
Author: Roland Scheidegger <sroland at vmware.com>
Date: Wed Jan 9 14:38:14 2013 -0800
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 at vmware.com>
---
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index 57298a4..918dd36 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]);
}
More information about the mesa-commit
mailing list