Mesa (master): gallivm: do texture swizzle after shadow compare

Brian Paul brianp at kemper.freedesktop.org
Tue Dec 14 19:17:35 UTC 2010


Module: Mesa
Branch: master
Commit: dfbc20593ec89ef5ddcb0dba3b05ea95e296861e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfbc20593ec89ef5ddcb0dba3b05ea95e296861e

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Dec 14 10:38:15 2010 -0700

gallivm: do texture swizzle after shadow compare

We need to swizzle after the shadow comparison so that the GL_DEPTH_MODE
functionality is handled properly.

This fixes all the piglit glsl-fs-shadow2d*.shader_test cases, except
for glsl-fs-shadow2dproj-bias.shader_test which fails because of a
bug in the GLSL compiler (fd.o 32395).

---

 src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c |    2 --
 src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c |    4 ++--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
index 991f6fa..e61cf95 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
@@ -1098,6 +1098,4 @@ lp_build_sample_aos(struct lp_build_sample_context *bld,
       texel_out[2] = unswizzled[2];
       texel_out[3] = unswizzled[3];
    }
-
-   apply_sampler_swizzle(bld, texel_out);
 }
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index cf46e2b..e685f4b 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
@@ -187,8 +187,6 @@ lp_build_sample_texel_soa(struct lp_build_sample_context *bld,
                                            border_chan_vec, texel_out[chan]);
       }
    }
-
-   apply_sampler_swizzle(bld, texel_out);
 }
 
 
@@ -1268,4 +1266,6 @@ lp_build_sample_soa(struct gallivm_state *gallivm,
    }
 
    lp_build_sample_compare(&bld, r, texel_out);
+
+   apply_sampler_swizzle(&bld, texel_out);
 }




More information about the mesa-commit mailing list