mesa/src/compiler
Ian Romanick d41cdef2a5 nir: Use the flrp lowering pass instead of nir_opt_algebraic
I tried to be very careful while updating all the various drivers, but I
don't have any of that hardware for testing. :(

i965 is the only platform that sets always_precise = true, and it is
only set true for fragment shaders.  Gen4 and Gen5 both set lower_flrp32
only for vertex shaders.  For fragment shaders, nir_op_flrp is lowered
during code generation as a(1-c)+bc.  On all other platforms 64-bit
nir_op_flrp and on Gen11 32-bit nir_op_flrp are lowered using the old
nir_opt_algebraic method.

No changes on any other Intel platforms.

v2: Add panfrost changes.

Iron Lake and GM45 had similar results. (Iron Lake shown)
total cycles in shared programs: 188647754 -> 188647748 (<.01%)
cycles in affected programs: 5096 -> 5090 (-0.12%)
helped: 3
HURT: 0
helped stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
helped stats (rel) min: 0.12% max: 0.12% x̄: 0.12% x̃: 0.12%

Reviewed-by: Matt Turner <mattst88@gmail.com>
2019-05-06 22:52:29 -07:00
..
glsl glsl_to_nir: drop supports_ints 2019-05-07 07:35:59 +02:00
nir nir: Use the flrp lowering pass instead of nir_opt_algebraic 2019-05-06 22:52:29 -07:00
spirv spirv/cl: support vload/vstore 2019-05-04 12:27:51 +02:00
Android.glsl.gen.mk mesa: android: Remove unnecessary dependency tracking rules 2019-05-06 11:29:25 +00:00
Android.glsl.mk android: glsl: build shader cache sources 2017-02-20 16:30:37 +00:00
Android.mk Android: glsl: add rules to generate ir_expression*.h header files 2016-09-06 15:58:55 +01:00
Android.nir.gen.mk mesa: android: Remove unnecessary dependency tracking rules 2019-05-06 11:29:25 +00:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
blob.c compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
blob.h compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp compiler/glsl: handle case where we have multiple users for types 2019-04-16 12:58:00 +03:00
glsl_types.h compiler/glsl: handle case where we have multiple users for types 2019-04-16 12:58:00 +03:00
Makefile.sources nir/flrp: Add new lowering pass for flrp instructions 2019-05-06 22:52:28 -07:00
meson.build meson: Build with Python 3 2018-08-10 15:15:09 -07:00
nir_types.cpp nir: fix a few signed/unsigned comparison warnings 2019-03-25 06:51:31 -06:00
nir_types.h nir: move gls_type_get_{sampler,image}_count() 2019-03-21 09:13:05 -04:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl scons: Generate float64_glsl.h for glsl_to_nir fp64 lowering 2019-03-02 14:33:44 -08:00
SConscript.nir nir: mako all the intrinsics 2018-03-27 08:36:37 -04:00
SConscript.spirv spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
shader_enums.c compiler: rename SYSTEM_VALUE_VARYING_COORD 2019-04-25 14:13:31 -07:00
shader_enums.h compiler: rename SYSTEM_VALUE_VARYING_COORD 2019-04-25 14:13:31 -07:00
shader_info.h spirv: add missing SPV_EXT_descriptor_indexing capabilities 2019-04-30 09:22:45 +02:00