[Mesa-dev] [PATCH 2/2] gallivm: fix border color for integer textures

sroland at vmware.com sroland at vmware.com
Wed Jan 9 14:39:19 PST 2013


From: Roland Scheidegger <sroland at vmware.com>

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.
---
 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 c870108..940be44 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]);
       }
-- 
1.7.9.5



More information about the mesa-dev mailing list