On Sat, Dec 15, 2012 at 6:25 AM, <srol...@vmware.com> wrote: > From: Roland Scheidegger <srol...@vmware.com> > > a460aea3f14222af46f88d1bc686f82180b8a872 wasn't entirely correct, > since all coords are already ints hence need to skip the iround. > Passes piglit texelFetch with sampler1DArray/sampler2DArray. > --- > src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c > b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c > index 6839478..f1d2f51 100644 > --- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c > +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c > @@ -984,7 +984,6 @@ lp_build_layer_coord(struct lp_build_sample_context *bld, > { > LLVMValueRef maxlayer; > > - layer = lp_build_iround(&bld->coord_bld, layer); > maxlayer = bld->dynamic_state->depth(bld->dynamic_state, > bld->gallivm, unit); > maxlayer = lp_build_sub(&bld->int_bld, maxlayer, bld->int_bld.one); > @@ -1041,9 +1040,11 @@ lp_build_sample_common(struct lp_build_sample_context > *bld, > derivs = &face_derivs; > } > else if (target == PIPE_TEXTURE_1D_ARRAY) { > - *r = lp_build_layer_coord(bld, unit, *t); > + *r = lp_build_iround(&bld->coord_bld, *t); > + *r = lp_build_layer_coord(bld, unit, *r); > } > else if (target == PIPE_TEXTURE_2D_ARRAY) { > + *r = lp_build_iround(&bld->coord_bld, *r); > *r = lp_build_layer_coord(bld, unit, *r); > } >
Reviewed-by: Dave Airlie <airl...@redhat.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev