mesa/src/compiler
Rob Clark a8ec4082a4 nir+vtn: vec8+vec16 support
This introduces new vec8 and vec16 instructions (which are the only
instructions taking more than 4 sources), in order to construct 8 and 16
component vectors.

In order to avoid fixing up the non-autogenerated nir_build_alu() sites
and making them pass 16 src args for the benefit of the two instructions
that take more than 4 srcs (ie vec8 and vec16), nir_build_alu() is has
nir_build_alu_tail() split out and re-used by nir_build_alu2() (which is
used for the > 4 src args case).

v2 (Karol Herbst):
  use nir_build_alu2 for vec8 and vec16
  use python's array multiplication syntax
  add nir_op_vec helper
  simplify nir_vec
  nir_build_alu_tail -> nir_builder_alu_instr_finish_and_insert
  use nir_build_alu for opcodes with <= 4 sources
v3 (Karol Herbst):
  fix nir_serialize
v4 (Dave Airlie):
  fix serialization of glsl_type
  handle vec8/16 in lowering of bools
v5 (Karol Herbst):
  fix load store vectorizer

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2019-12-21 11:00:17 +00:00
..
glsl st/glsl_to_nir: use nir based program resource list builder 2019-12-13 00:07:19 +00:00
nir nir+vtn: vec8+vec16 support 2019-12-21 11:00:17 +00:00
spirv nir+vtn: vec8+vec16 support 2019-12-21 11:00:17 +00: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 nir: Add missing dependency in Android.nir.gen.mk 2019-08-19 09:53:18 +03:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp nir+vtn: vec8+vec16 support 2019-12-21 11:00:17 +00:00
glsl_types.h Move blob from compiler/ to util/ 2019-09-19 19:56:22 +00:00
Makefile.sources nir: Add a scheduler pass to reduce maximum register pressure. 2019-11-25 21:12:21 +00:00
meson.build meson: drop unused inc_nir 2019-10-07 21:49:40 +01:00
nir_types.cpp nir: define 8-byte size and alignment for bindless variables 2019-09-23 15:34:22 -04:00
nir_types.h compiler: Add glsl_contains_opaque() helper 2019-09-10 14:36:46 -07:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl compiler: move build definition of pp_standalone_scaffolding.c 2019-11-21 16:07:08 +11: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 freedreno/ir3: Add ir3 intrinsics for tessellation 2019-11-07 16:36:50 -08:00
shader_enums.h freedreno/ir3: Add ir3 intrinsics for tessellation 2019-11-07 16:36:50 -08:00
shader_info.h compiler: pack shader_info from 160 bytes to 96 bytes 2019-11-08 16:54:08 -05:00