This time there are actually some OpenCL patches like adding support for the OpenCL SPIR-V extensions or a few opcodes we don't hit with vulkan or glsl.
Also some of the glsl builtins are moved into a new file so that we can start sharing builtin implementations across multiple SPIR-V extensions. Last thing is preparing for vec8/vec16 types and handling 64 bit system values, which is required by OpenCL. Karol Herbst (6): nir: add builtin builder nir: prepare for bumping up max components to 16 nir/spirv: initial handling of OpenCL.std extension opcodes nir/spirv: print id for unsupported alu opcode nir/spirv: cast shift operand to u32 nir: specify bit_size when loading system values Rob Clark (2): nir/spirv: import OpenCL.std.h nir/spirv: add OpIsFinite and OpIsNormal src/compiler/Makefile.sources | 2 + src/compiler/nir/meson.build | 3 + src/compiler/nir/nir.c | 14 +- src/compiler/nir/nir.h | 34 +- src/compiler/nir/nir_builder.h | 17 +- src/compiler/nir/nir_builder_opcodes_h.py | 9 +- src/compiler/nir/nir_builtin_builder.c | 312 ++++++++++++++++++ src/compiler/nir/nir_builtin_builder.h | 223 +++++++++++++ src/compiler/nir/nir_lower_alpha_test.c | 2 +- src/compiler/nir/nir_lower_alu_to_scalar.c | 6 +- src/compiler/nir/nir_lower_clip.c | 3 +- src/compiler/nir/nir_lower_io_to_scalar.c | 4 +- .../nir/nir_lower_load_const_to_scalar.c | 2 +- src/compiler/nir/nir_lower_subgroups.c | 8 +- src/compiler/nir/nir_lower_system_values.c | 49 +-- src/compiler/nir/nir_lower_two_sided_color.c | 2 +- src/compiler/nir/nir_lower_wpos_center.c | 2 +- src/compiler/nir/nir_opt_constant_folding.c | 2 +- src/compiler/nir/nir_opt_copy_prop_vars.c | 4 +- src/compiler/nir/nir_print.c | 9 +- src/compiler/nir/nir_search.c | 8 +- src/compiler/nir/nir_validate.c | 6 +- src/compiler/spirv/OpenCL.std.h | 211 ++++++++++++ src/compiler/spirv/spirv_to_nir.c | 4 +- src/compiler/spirv/vtn_alu.c | 61 +++- src/compiler/spirv/vtn_glsl450.c | 58 +--- src/compiler/spirv/vtn_opencl.c | 284 ++++++++++++++++ src/compiler/spirv/vtn_private.h | 3 + src/compiler/spirv/vtn_subgroup.c | 2 +- src/gallium/auxiliary/nir/tgsi_to_nir.c | 3 +- src/intel/blorp/blorp_blit.c | 2 +- src/intel/blorp/blorp_clear.c | 2 +- .../compiler/brw_nir_lower_cs_intrinsics.c | 6 +- src/mesa/drivers/dri/i965/brw_tcs.c | 2 +- 34 files changed, 1220 insertions(+), 139 deletions(-) create mode 100644 src/compiler/nir/nir_builtin_builder.c create mode 100644 src/compiler/nir/nir_builtin_builder.h create mode 100644 src/compiler/spirv/OpenCL.std.h create mode 100644 src/compiler/spirv/vtn_opencl.c -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev