mesa/src/freedreno
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
..
drm freedreno/drm: expose GMEM_BASE address 2019-05-02 11:19:22 -07:00
ir3 nir: Use the flrp lowering pass instead of nir_opt_algebraic 2019-05-06 22:52:29 -07:00
registers freedreno: update generated headers 2019-05-04 11:50:44 -07:00
vulkan turnip: update to use the new features struct names 2019-04-30 16:55:38 +01:00
.dir-locals.el freedreno: Add .dir-locals to the common directory 2018-12-11 13:14:08 -08:00
Android.drm.mk mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs 2019-05-06 11:29:26 +00:00
Android.ir3.mk mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs 2019-05-06 11:29:26 +00:00
Android.mk mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs 2019-05-06 11:29:26 +00:00
Makefile.sources mesa: Makefile.sources: Add ir3_nir_lower_load_barycentric_at_sample/offset to Makefile.sources 2019-05-06 11:29:26 +00:00
meson.build turnip: Add driver skeleton (v2) 2019-03-11 10:01:15 -07:00