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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev