[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