From: Connor Abbott <[email protected]> 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 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
