summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index 602f96e4037..40744e3bc91 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -783,20 +783,12 @@ emit_fetch(
return bld->base.undef;
}
- switch( tgsi_util_get_full_src_register_sign_mode( reg, chan_index ) ) {
- case TGSI_UTIL_SIGN_CLEAR:
+ if (reg->Register.Absolute) {
res = lp_build_abs( &bld->base, res );
- break;
+ }
- case TGSI_UTIL_SIGN_SET:
- res = lp_build_abs( &bld->base, res );
- /* fall through */
- case TGSI_UTIL_SIGN_TOGGLE:
+ if (reg->Register.Negate) {
res = lp_build_negate( &bld->base, res );
- break;
-
- case TGSI_UTIL_SIGN_KEEP:
- break;
}
return res;