mesa/src/compiler/spirv
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
..
gl_spirv.c spirv: Rename vtn_decoration literals to operands 2019-04-23 14:58:01 -07:00
GLSL.ext.AMD.h spirv: import AMD extensions header from glslang 2018-03-07 23:09:58 +01:00
GLSL.std.450.h spirv: bump headers to SPIRV 1.1 2017-01-25 17:22:23 +00:00
meson.build meson: Build with Python 3 2018-08-10 15:15:09 -07:00
nir_spirv.h spirv: handle UniformConstant for OpenCL kernels 2019-12-11 23:54:39 +00:00
OpenCL.std.h spirv: Update the OpenCL.std.h header 2019-06-04 12:12:51 -07:00
spirv.core.grammar.json spirv: Update JSON and headers to 1.5 2019-09-16 19:17:26 -07:00
spirv.h spirv: Update JSON and headers to 1.5 2019-09-16 19:17:26 -07:00
spirv2nir.c compiler/spirv: Fix uses of gnu struct = {} extension 2019-12-11 06:03:22 +00:00
spirv_info.h spirv: Add imageoperands_to_string helper 2019-10-24 11:39:56 -07:00
spirv_info_c.py spirv: Add imageoperands_to_string helper 2019-10-24 11:39:56 -07:00
spirv_to_nir.c nir+vtn: vec8+vec16 support 2019-12-21 11:00:17 +00:00
vtn_alu.c spirv: Implement NoSignedWrap and NoUnsignedWrap decorations 2019-06-26 14:13:02 -07:00
vtn_amd.c nir: Make nir_constant a vector rather than a matrix 2019-06-19 21:05:54 +00:00
vtn_cfg.c spirv: get the correct type for function returns. 2019-11-22 04:37:25 +10:00
vtn_gather_types_c.py spirv: Add a prepass to set types on vtn_values 2017-12-11 22:28:34 -08:00
vtn_glsl450.c nir/builder: Move nir_atan and nir_atan2 from SPIR-V translator 2019-10-12 09:43:17 +02:00
vtn_opencl.c vtn/opencl: add shuffle/shuffle support 2019-12-12 19:40:58 +10:00
vtn_private.h spirv: Remove the type from sampled_image 2019-11-09 15:29:01 +00:00
vtn_subgroup.c spirv: fix lowering of OpGroupNonUniformAllEqual 2019-11-19 18:01:13 +00:00
vtn_variables.c spirv: handle UniformConstant for OpenCL kernels 2019-12-11 23:54:39 +00:00