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

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to