[Mesa-dev] [PATCH 00/12] Some cleaned up Compute patches

Karol Herbst kherbst at redhat.com
Tue Dec 4 18:26:38 UTC 2018


Extracted some patches from my previous compute series and reworked most of
them quite significantly.

Most notable changes:
* adding a MESA_SHADER_KERNEL to indicate a compute kernel
* split physical ptrs from kernel execution model
  (they don't require each other)
* validate bit_size of system values
* handle ContractionOff for compute kernels

Karol Herbst (11):
  mesa: add MESA_SHADER_KERNEL
  vtn: handle SpvExecutionModelKernel
  nir/spirv: improve parsing of the memory model
  nir: rename global/local to private/function memory
  nir/spirv: handle SpvStorageClassCrossWorkgroup
  nir: replace more nir_load_system_value calls with builder functions
  nir/validate: allow to check against a bitmask of bit_sizes
  nir: add legal bit_sizes to intrinsics
  nir: add bit_size parameter to system values with multiple allowed bit
    sizes
  nir: add support for address bit sized system values
  nir/spirv: handle ContractionOff execution mode

Rob Clark (1):
  nir/vtn: add caps for some cl related capabilities

 src/amd/common/ac_nir_to_llvm.c               | 10 ++--
 src/amd/vulkan/radv_meta_buffer.c             |  8 +--
 src/amd/vulkan/radv_meta_bufimage.c           | 28 +++++-----
 src/amd/vulkan/radv_meta_clear.c              |  4 +-
 src/amd/vulkan/radv_meta_fast_clear.c         |  4 +-
 src/amd/vulkan/radv_meta_resolve_cs.c         |  4 +-
 src/amd/vulkan/radv_query.c                   | 12 ++--
 src/amd/vulkan/radv_shader.c                  |  8 +--
 src/compiler/glsl/glsl_to_nir.cpp             | 10 ++--
 src/compiler/nir/nir.c                        | 10 +++-
 src/compiler/nir/nir.h                        | 20 +++++--
 src/compiler/nir/nir_builder_opcodes_h.py     | 14 ++++-
 src/compiler/nir/nir_clone.c                  |  1 +
 src/compiler/nir/nir_intrinsics.py            | 37 ++++++------
 src/compiler/nir/nir_intrinsics_c.py          |  6 +-
 src/compiler/nir/nir_linking_helpers.c        |  2 +-
 src/compiler/nir/nir_lower_clip.c             |  2 +-
 .../nir/nir_lower_constant_initializers.c     |  6 +-
 .../nir/nir_lower_global_vars_to_local.c      |  6 +-
 .../nir/nir_lower_io_to_temporaries.c         |  2 +-
 src/compiler/nir/nir_lower_locals_to_regs.c   |  4 +-
 src/compiler/nir/nir_lower_system_values.c    | 47 +++++++++-------
 src/compiler/nir/nir_lower_vars_to_ssa.c      |  8 +--
 src/compiler/nir/nir_opt_copy_prop_vars.c     |  8 +--
 src/compiler/nir/nir_opt_dead_write_vars.c    |  4 +-
 src/compiler/nir/nir_opt_find_array_copies.c  |  4 +-
 src/compiler/nir/nir_opt_large_constants.c    | 14 ++---
 src/compiler/nir/nir_print.c                  | 13 ++---
 src/compiler/nir/nir_remove_dead_variables.c  |  6 +-
 src/compiler/nir/nir_serialize.c              |  2 +
 src/compiler/nir/nir_split_vars.c             | 30 +++++-----
 src/compiler/nir/nir_validate.c               | 42 ++++++++------
 src/compiler/nir/tests/vars_tests.cpp         | 18 +++---
 src/compiler/shader_enums.c                   |  5 +-
 src/compiler/shader_enums.h                   | 18 ++++++
 src/compiler/shader_info.h                    |  3 +
 src/compiler/spirv/spirv_info.h               |  1 +
 src/compiler/spirv/spirv_info_c.py            |  1 +
 src/compiler/spirv/spirv_to_nir.c             | 56 ++++++++++++++++---
 src/compiler/spirv/vtn_alu.c                  |  4 +-
 src/compiler/spirv/vtn_cfg.c                  |  4 +-
 src/compiler/spirv/vtn_private.h              |  9 ++-
 src/compiler/spirv/vtn_variables.c            | 18 ++++--
 src/freedreno/ir3/ir3_compiler_nir.c          |  3 +-
 src/freedreno/ir3/ir3_nir.c                   |  2 +-
 src/gallium/auxiliary/nir/tgsi_to_nir.c       |  5 +-
 src/gallium/drivers/freedreno/a6xx/fd6_emit.c |  1 +
 src/gallium/drivers/freedreno/a6xx/fd6_emit.h |  1 +
 .../drivers/freedreno/a6xx/fd6_program.c      |  1 +
 .../drivers/freedreno/freedreno_util.h        |  1 +
 .../drivers/freedreno/ir3/ir3_cmdline.c       |  1 +
 .../drivers/freedreno/ir3/ir3_gallium.c       |  2 +-
 src/gallium/drivers/radeonsi/si_shader_nir.c  |  4 +-
 src/gallium/drivers/v3d/v3d_program.c         |  2 +-
 src/gallium/drivers/vc4/vc4_nir_lower_blend.c |  4 +-
 src/gallium/drivers/vc4/vc4_program.c         |  4 +-
 src/intel/compiler/brw_nir.c                  | 13 ++---
 src/intel/vulkan/anv_pipeline.c               |  4 +-
 src/mesa/main/glspirv.c                       |  2 +-
 src/mesa/main/shaderobj.h                     |  6 ++
 src/mesa/state_tracker/st_glsl_to_nir.cpp     |  4 +-
 61 files changed, 356 insertions(+), 217 deletions(-)

-- 
2.19.2



More information about the mesa-dev mailing list