[Mesa-dev] [PATCH 00/10] nir: Get rid of the *_indirect load/store intrinsics
Jason Ekstrand
jason at jlekstrand.net
Wed Nov 25 20:55:52 PST 2015
This has been bothering me for quite some time. We have both regular and
*_indirect forms of all of the load/store intrinsics. Unfortunately, these
lead to large number of unneeded special-cases. Another downside is that
core NIR has no way of turning _indirect load/store operations into their
direct form when the indirect is a constant.
All but the last two patches will have to be squashed into one commit
before pushing. This includes patches to tgsi_to_nir, ir3, and vc4. It
would be much appreciated if the owners of those pieces of code would
review and test as quickly as possible. If they're wrong (they probably
are), working patches would be appreciated.
Cc: Eric Anholt <eric at anholt.net>
Cc: Rob Clark <robclark at robdclark@gmail.com>
Jason Ekstrand (10):
nir/lower_io: Pass the builder and type_size into get_io_offset
i965/vec4: Get rid of the nir_inputs array
nir: Get rid of *_indirect variants of input/output load/store
intrinsics
nir/glsl: Stop handling UBO/SSBO load/stores differently depending on
indirect
nir/lower_io: Get rid of load/store_foo_indirect
i965/fs: Get rid of load/store_foo_indirect
i965/vec4: Get rid of load/store_foo_indirect
tgsi_to_nir: Get rid of load/store_foo_indirect
ir3/nir: Use the new unified io intrinsics
vc4/nir: Use the new unified io intrinsics
src/gallium/auxiliary/nir/tgsi_to_nir.c | 48 +++----
.../drivers/freedreno/ir3/ir3_compiler_nir.c | 75 ++++++-----
src/gallium/drivers/vc4/vc4_nir_lower_io.c | 20 +--
src/gallium/drivers/vc4/vc4_program.c | 25 ++--
src/glsl/nir/glsl_to_nir.cpp | 47 +------
src/glsl/nir/nir.h | 2 +-
src/glsl/nir/nir_intrinsics.h | 64 +++++----
src/glsl/nir/nir_lower_io.c | 121 +++++++----------
src/glsl/nir/nir_lower_phis_to_scalar.c | 4 -
src/glsl/nir/nir_print.c | 19 ++-
src/mesa/drivers/dri/i965/brw_fs.h | 3 +-
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 145 +++++++++------------
src/mesa/drivers/dri/i965/brw_nir.c | 60 +++++----
src/mesa/drivers/dri/i965/brw_vec4.h | 2 -
src/mesa/drivers/dri/i965/brw_vec4_gs_nir.cpp | 8 +-
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 119 ++++++-----------
16 files changed, 331 insertions(+), 431 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list