[Mesa-dev] [PATCH v2 0/7] radv: add support for the new subgroup capabilities

Daniel Schürmann daniel.schuermann at campus.tu-berlin.de
Fri Mar 16 09:50:21 UTC 2018


Second version of the series:
- removed GroupNonUniformArithmetic from supported capabilites as we cannot guarantee that LLVM WWM liveness issues won't affect the behavior.
- reworked and moved lowering of 64bit shuffle intrinsics to nir_lower_subgroups.
- Quad shuffles use ds_swizzle on pre-VI hardware or LLVM < 6.

Daniel Schürmann (7):
  nir: adjust subgroups instructions for 64bit ballot sizes
  nir/spirv: propagate constants of GroupNonUniformQuad instructions,
    eliminate warning and fix breaks
  nir: lower 64bit subgroup shuffle intrinsics
  ac: make ballot and umsb capable of 64bit inputs
  ac: add LLVM build functions for subgroup instrinsics
  ac: handle subgroup intrinsics
  radv: enable subgroup capabilities

 src/amd/common/ac_llvm_build.c         | 508 ++++++++++++++++++++++++++++++++-
 src/amd/common/ac_llvm_build.h         |  33 ++-
 src/amd/common/ac_nir_to_llvm.c        |  66 +++--
 src/amd/vulkan/radv_device.c           |  10 +-
 src/amd/vulkan/radv_shader.c           |   7 +-
 src/compiler/nir/nir.h                 |   1 +
 src/compiler/nir/nir_lower_subgroups.c |  88 ++++--
 src/compiler/nir/nir_opcodes.py        |  12 +-
 src/compiler/spirv/spirv_to_nir.c      |   2 +
 src/compiler/spirv/vtn_subgroup.c      |   8 +-
 10 files changed, 665 insertions(+), 70 deletions(-)

-- 
2.14.1



More information about the mesa-dev mailing list