r600/ntt: various fixes
- NIR: don't lower in the late algebraic optimizations to use 64 bit fsub if the
lower_doubles_options
havenir_lower_dsub
- NTT: for FS remove unused inputs, because vectorize_io will create overlapping inputs and NTT doesn't like this,
- r600/sb: Don't optimize GE and GT, NIR should have taken care of this and sb doesn't handle NAN's there
- r600: tune nir options
- don't lower fp64 to software when on Cayman
- don't lower fpow for NTT, TGSI_OPCODE_POW is handled correctly, but it doesn't like the lowered code
- r600: add support for TGSI_OPCODE_ATOMIMIN and IMAX, these are emitted with NTT
This fixes most regressions, what is still missing:
- even though ffloor is supposed to be lowered in
nir_lower_doubles
opt_algebraic re-creates ffloor seemingly from ffract but lower_ffract is not requested, so no real idea what is going wrong, then TGSI_OPCODE_DFLR isn't handled by the TGSI backend (yet). - for some reason
__buildin_udiv64
is missing when linking the shaders, resuting in an assertion failure: ../src/compiler/glsl/glsl_to_nir.cpp:1669: virtual void {anonymous}::nir_visitor::visit(ir_call*): Assertion `entry' failed.