Mesa (gallium-llvmpipe): llvmpipe: Implement saturation.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Aug 19 08:34:53 UTC 2009


Module: Mesa
Branch: gallium-llvmpipe
Commit: 6db757e988686903c6d5baad29d367ef071bb95c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6db757e988686903c6d5baad29d367ef071bb95c

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Aug 19 09:34:53 2009 +0100

llvmpipe: Implement saturation.

---

 src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
index 6561155..805d9fd 100644
--- a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
+++ b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c
@@ -199,12 +199,17 @@ emit_store(
       break;
 
    case TGSI_SAT_ZERO_ONE:
-      /* assert( 0 ); */
+      value = lp_build_max(&bld->base, value, bld->base.zero);
+      value = lp_build_min(&bld->base, value, bld->base.one);
       break;
 
    case TGSI_SAT_MINUS_PLUS_ONE:
-      assert( 0 );
+      value = lp_build_max(&bld->base, value, lp_build_const_uni(bld->base.type, -1.0));
+      value = lp_build_min(&bld->base, value, bld->base.one);
       break;
+
+   default:
+      assert(0);
    }
 
    switch( reg->DstRegister.File ) {




More information about the mesa-commit mailing list