summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-08-19 09:34:53 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-08-29 09:21:35 +0100
commit7926b42d41058e5d2b99ba0e8810f93bc7c12d36 (patch)
treeb9d94708b44d49c885ae3304eb0063b05dbb1254 /src
parent39352b34438affc36ce22852bb55359d304a522c (diff)
llvmpipe: Implement saturation.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c9
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 6561155bfd..805d9fd4b2 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 ) {