[Mesa-dev] [PATCH v2 00/16] ARB_gl_spirv series 3 v2: support for atomic counters

Alejandro Piñeiro apinheiro at igalia.com
Mon Jul 2 14:58:29 UTC 2018


Hi Timothy. Thanks for the quick review!

As you suggested some squash and commit drops, Im resending the v2 of
the series, just in case you want a final overview of the series
(although it is somewhat an overkill, I know).

The only patch missing a review is "[PATCH 13/16] nir: Fix
OpAtomicCounterIDecrement for uniform atomic counters"

As you suggested, the patch that added a utility to get the depth of
multidimensional arrays was dropped. So "[PATCH 07/16] nir/spirv: Fix
atomic counter (multidimensional-)arrays" is the patch that had more
changes, although those were the changes you suggested.

The patches can be found here (rebased against today master).
https://github.com/Igalia/mesa/tree/arb_gl_spirv-series3-atomics-counters-v2

Again, thanks for the quick review

Alejandro Piñeiro (10):
  compiler/glsl: refactor empty_uniform_block utilities to linker_util
  nir/linker: handle uniforms without explicit location
  spirv/nir: SpvStorageClassAtomicCounter support on
    vtn_storage_class_to_mode
  spirv/nir: add offset at vtn_variable
  nir_types: add glsl_atomic_uint_type() helper
  spirv/nir: tweak nir type when storage class is
    SpvStorageClassAtomicCounter
  spirv/nir: initialize offset on the nir var at vtn_create_variable
  spirv/nir: add atomic counter support on
    vtn_handle_ssbo_or_shared_atomic
  spirv/nir: add capability check for SpvCapabilityAtomicStorage
  i965: enable AtomicStorage capability for gen7+

Antia Puentes (3):
  nir/spirv: Fix atomic counter (multidimensional-)arrays
  nir: Fix OpAtomicCounterIDecrement for uniform atomic counters
  mesa/glspirv: lower workgroup access to offsets

Neil Roberts (3):
  nir/types: Add wrappers for a couple of atomic counter methods
  nir/linker: Add a pure NIR implementation of the atomic counter linker
  i965: Use the new nir atomic counter linker for SPIR-V shaders

 src/compiler/Makefile.sources                |   1 +
 src/compiler/glsl/gl_nir_link_atomics.c      | 282 +++++++++++++++++++++++++++
 src/compiler/glsl/gl_nir_link_uniforms.c     |  64 +++++-
 src/compiler/glsl/gl_nir_linker.h            |   3 +
 src/compiler/glsl/gl_nir_lower_atomics.c     |   8 +-
 src/compiler/glsl/glsl_to_nir.cpp            |   4 +-
 src/compiler/glsl/link_uniforms.cpp          |  34 +---
 src/compiler/glsl/linker.cpp                 |  19 +-
 src/compiler/glsl/linker.h                   |  13 --
 src/compiler/glsl/linker_util.cpp            |  55 ++++++
 src/compiler/glsl/linker_util.h              |  21 ++
 src/compiler/glsl/meson.build                |   1 +
 src/compiler/nir/nir_intrinsics.py           |   3 +-
 src/compiler/nir/nir_lower_atomics_to_ssbo.c |   8 +-
 src/compiler/nir_types.cpp                   |  18 ++
 src/compiler/nir_types.h                     |   4 +
 src/compiler/shader_info.h                   |   1 +
 src/compiler/spirv/spirv_to_nir.c            |  95 ++++++++-
 src/compiler/spirv/vtn_private.h             |   1 +
 src/compiler/spirv/vtn_variables.c           |  42 +++-
 src/mesa/drivers/dri/i965/brw_context.c      |   1 +
 src/mesa/drivers/dri/i965/brw_link.cpp       |   2 +
 src/mesa/main/glspirv.c                      |   1 +
 23 files changed, 599 insertions(+), 82 deletions(-)
 create mode 100644 src/compiler/glsl/gl_nir_link_atomics.c

-- 
2.14.1



More information about the mesa-dev mailing list