nir: Add a new subgroups lowering pass
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 22 Aug 2017 20:23:59 +0000 (13:23 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 7 Nov 2017 18:37:52 +0000 (10:37 -0800)
commit28da82f9783091cb3e79586962f98a5bc165cff8
tree17ab49d93f9d1264993a8d38662c62537b3010dd
parent1ca3a9442760b6f7ffcc624bdc527fc7dbc70825
nir: Add a new subgroups lowering pass

This commit pulls nir_lower_read_invocations_to_scalar along with most
of the guts of nir_opt_intrinsics (which mostly does subgroup lowering)
into a new nir_lower_subgroups pass.  There are various other bits of
subgroup lowering that we're going to want to do so it makes a bit more
sense to keep it all together in one pass.  We also move it in i965 to
happen after nir_lower_system_values to ensure that because we want to
handle the subgroup mask system value intrinsics here.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/compiler/Makefile.sources
src/compiler/nir/meson.build
src/compiler/nir/nir.h
src/compiler/nir/nir_lower_read_invocation_to_scalar.c [deleted file]
src/compiler/nir/nir_lower_subgroups.c [new file with mode: 0644]
src/compiler/nir/nir_opt_intrinsics.c
src/intel/compiler/brw_compiler.c
src/intel/compiler/brw_nir.c