[Mesa-dev] [PATCH v3 00/19] nir/vtn/compiler: first batch of compute support

Karol Herbst kherbst at redhat.com
Fri Mar 23 19:33:37 UTC 2018


second series here:
https://lists.freedesktop.org/archives/mesa-dev/2018-March/188218.html

Main difference to the last series is, that I tried to focus on the real core
pars we need to get basic OpenCL support in spirv_to_nir, so that we can run
more or less complex examples.

There are some important core NIR changes and somebody should take a closer
look at those.

Karol Herbst (12):
  nir: add load/store_global intrinsics
  vtn: handle SpvExecutionModelKernel
  glsl: add packed for struct types
  glsl: add glsl_base_get_byte_size
  RFC glsl: add cl_size and cl_alignment
  RFC: nir/vtn: handle constant builtins from kernels
  nir/vtn: pointers can point to cross_workgroup or local memory as well
  nir: specify bit_size when loading system values
  nir/vtn/opencl: support fma
  nir: add load_kernel_param
  RFC nir/lower_io: lower kernel entry param load_vars to
    load_kernel_param
  RFC: nir/vtn: member in struct deref

Rob Clark (7):
  RFC: nir/vtn: "raw" pointer support
  nir/vtn: print extension name in fail msg
  nir/vtn: import OpenCL.std.h
  nir/vtn: initial OpenCL.std extension
  nir/vtn: Handle OpInBoundsPtrAccessChain
  nir: use load_local_group_size
  nir: kernel entrypoints can have arguments

 src/compiler/glsl_types.cpp                      |  65 ++++-
 src/compiler/glsl_types.h                        |  56 +++-
 src/compiler/nir/meson.build                     |   1 +
 src/compiler/nir/nir.h                           |   1 -
 src/compiler/nir/nir_builder.h                   |  10 +-
 src/compiler/nir/nir_intrinsics.h                |   8 +-
 src/compiler/nir/nir_lower_alpha_test.c          |   2 +-
 src/compiler/nir/nir_lower_clip.c                |   3 +-
 src/compiler/nir/nir_lower_io.c                  |  39 ++-
 src/compiler/nir/nir_lower_subgroups.c           |   8 +-
 src/compiler/nir/nir_lower_system_values.c       |  48 ++--
 src/compiler/nir/nir_lower_two_sided_color.c     |   2 +-
 src/compiler/nir/nir_lower_wpos_center.c         |   2 +-
 src/compiler/nir/nir_opcodes.py                  |   3 +-
 src/compiler/nir_types.cpp                       |  17 +-
 src/compiler/nir_types.h                         |  37 +--
 src/compiler/spirv/OpenCL.std.h                  | 211 +++++++++++++++
 src/compiler/spirv/spirv_to_nir.c                | 106 ++++++--
 src/compiler/spirv/vtn_opencl.c                  | 268 +++++++++++++++++++
 src/compiler/spirv/vtn_private.h                 |  35 ++-
 src/compiler/spirv/vtn_subgroup.c                |   2 +-
 src/compiler/spirv/vtn_variables.c               | 313 +++++++++++++++++++----
 src/gallium/auxiliary/nir/tgsi_to_nir.c          |   3 +-
 src/intel/blorp/blorp_blit.c                     |   2 +-
 src/intel/blorp/blorp_clear.c                    |   2 +-
 src/intel/compiler/brw_nir_lower_cs_intrinsics.c |   6 +-
 src/mesa/drivers/dri/i965/brw_tcs.c              |   2 +-
 27 files changed, 1099 insertions(+), 153 deletions(-)
 create mode 100644 src/compiler/spirv/OpenCL.std.h
 create mode 100644 src/compiler/spirv/vtn_opencl.c

-- 
2.14.3



More information about the mesa-dev mailing list