i965: use double lowering pass

v2: also lower trunc, ceil, floor, fract and roundEven (Iago)
v3: also lower mod for doubles (Sam)

Signed-off-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
Connor Abbott 2015-08-03 15:02:05 -07:00 committed by Samuel Iglesias Gonsálvez
parent d00a239b28
commit bea2f8beb5
2 changed files with 10 additions and 0 deletions

View file

@ -77,6 +77,7 @@ shader_perf_log_mesa(void *data, const char *fmt, ...)
.lower_fdiv = true, \
.lower_scmp = true, \
.lower_fmod32 = true, \
.lower_fmod64 = false, \
.lower_bitfield_extract = true, \
.lower_bitfield_insert = true, \
.lower_uadd_carry = true, \

View file

@ -410,6 +410,15 @@ nir_optimize(nir_shader *nir, bool is_scalar)
OPT(nir_opt_dead_cf);
OPT(nir_opt_remove_phis);
OPT(nir_opt_undef);
OPT_V(nir_lower_doubles, nir_lower_drcp |
nir_lower_dsqrt |
nir_lower_drsq |
nir_lower_dtrunc |
nir_lower_dfloor |
nir_lower_dceil |
nir_lower_dfract |
nir_lower_dround_even |
nir_lower_dmod);
} while (progress);
return nir;