[Mesa-dev] [PATCH 00/10] radv: Support for subgroup_vote and shader_ballot (v2)
Connor Abbott
connora at valvesoftware.com
Tue Aug 1 02:24:07 UTC 2017
From: Connor Abbott <cwabbott0 at gmail.com>
This is mostly a re-send of my previous series [1]. I've split out the
more controversial NIR attribute stuff into a separate series, which is
now independent of this one. The main change, other than rebasing stuff,
is that we now use the NIR lowering added by Matt for handling the
subgroup masks, rather than doing it ourselves while translating to
LLVM. That code still isn't tested thanks to [2], though.
Also, this requires some fixes for integer handling that I just sent
out, particularly the last one, for my crucible tests to work. This
series, including those fixes, is available at:
git://people.freedesktop.org/~cwabbott0/mesa radv-shader-ballot-v3
[1] https://lists.freedesktop.org/archives/mesa-dev/2017-June/158672.html
[2] https://github.com/KhronosGroup/glslang/issues/930
Connor Abbott (10):
mesa: fix 64-bit issues with system_values_read
compiler: add new system values for SPV_KHR_shader_ballot
nir/lower_system_values: handle SPIR-V shader_ballot system values
nir/spirv: add plumbing for KHR_shader_ballot and KHR_subgroup_vote
radeonsi: move llvm_get_type_size() to ac
radeonsi: move emit_optimization_barrier() to ac
radeonsi: move si_emit_ballot() to ac
radeonsi: move the guts of ARB_shader_group_vote emission to ac
radv: call nir_opt_intrinsics()
radv/ac: enable EXT_shader_subgroup_ballot and
EXT_shader_subgroup_vote
src/amd/common/ac_llvm_build.c | 123 ++++++++++++++++++++++++++
src/amd/common/ac_llvm_build.h | 14 +++
src/amd/common/ac_nir_to_llvm.c | 49 +++++++++++
src/amd/vulkan/radv_device.c | 8 ++
src/amd/vulkan/radv_pipeline.c | 5 ++
src/compiler/nir/nir_lower_system_values.c | 38 ++++++++
src/compiler/shader_enums.c | 5 ++
src/compiler/shader_enums.h | 11 +++
src/compiler/spirv/nir_spirv.h | 2 +
src/compiler/spirv/spirv_to_nir.c | 79 +++++++++++++++++
src/compiler/spirv/vtn_variables.c | 28 ++++++
src/gallium/auxiliary/nir/tgsi_to_nir.c | 2 +-
src/gallium/drivers/radeonsi/si_shader.c | 136 +++--------------------------
src/intel/compiler/brw_vec4_gs_visitor.cpp | 3 +-
src/mesa/program/programopt.c | 2 +-
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 9 +-
src/mesa/state_tracker/st_mesa_to_tgsi.c | 6 +-
17 files changed, 387 insertions(+), 133 deletions(-)
--
2.9.4
More information about the mesa-dev
mailing list