On Sun, Dec 18, 2011 at 9:27 PM, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > This sample compare was always doing linear, and this makes the > glsl-fs-shadow1DArray test render like the Intel driver. > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/gallium/drivers/softpipe/sp_tex_sample.c | 23 ++++++++++++++++------- > 1 files changed, 16 insertions(+), 7 deletions(-) > > diff --git a/src/gallium/drivers/softpipe/sp_tex_sample.c > b/src/gallium/drivers/softpipe/sp_tex_sample.c > index 72629a0..40ad786 100644 > --- a/src/gallium/drivers/softpipe/sp_tex_sample.c > +++ b/src/gallium/drivers/softpipe/sp_tex_sample.c > @@ -2172,13 +2172,22 @@ sample_compare(struct tgsi_sampler *tgsi_sampler, > break; > } > > - /* convert four pass/fail values to an intensity in [0,1] */ > - val = 0.25F * (k0 + k1 + k2 + k3); > - > - /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE > */ > - for (j = 0; j < 4; j++) { > - rgba[0][j] = rgba[1][j] = rgba[2][j] = val; > - rgba[3][j] = 1.0F; > + if (sampler->mag_img_filter == PIPE_TEX_FILTER_LINEAR) { > + /* convert four pass/fail values to an intensity in [0,1] */ > + val = 0.25F * (k0 + k1 + k2 + k3); > + > + /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = > GL_LUMINANCE */ > + for (j = 0; j < 4; j++) { > + rgba[0][j] = rgba[1][j] = rgba[2][j] = val; > + rgba[3][j] = 1.0F; > + } > + } else { > + for (j = 0; j < 4; j++) { > + rgba[0][j] = k0; > + rgba[1][j] = k1; > + rgba[2][j] = k2; > + rgba[3][0] = 1.0F;
^ assume 0 should be j here, though it would be good if someone could check my thinking, I mostly ported from swrast. Dave. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev