<div dir="ltr">I found some patches on the git mailing list but looks like none of them have been merged <div><br></div><div><a href="http://git.661346.n2.nabble.com/PATCH-send-mail-Add-option-to-sleep-between-sending-each-email-td6769476.html">http://git.661346.n2.nabble.com/PATCH-send-mail-Add-option-to-sleep-between-sending-each-email-td6769476.html</a><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 12 Jun 2017 at 23:22 Connor Abbott <<a href="mailto:cwabbott0@gmail.com">cwabbott0@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Jun 12, 2017 at 2:30 AM, Nicolai Hähnle <<a href="mailto:nhaehnle@gmail.com" target="_blank">nhaehnle@gmail.com</a>> wrote:<br>
> FYI, somehow your mails don't show up in a single thread for me. They're in<br>
> groups of 00-04, 05-09, 10-14, 15-17. Not sure what's up with that.<br>
<br>
For some reason, the server at Valve rate-limits sending email, so git<br>
send-email failed when I tried to send them all at once, and I had to<br>
send some manually. Is there some way to automatically sleep between<br>
sending emails out?<br>
<br>
><br>
> On 10.06.2017 01:43, Connor Abbott wrote:<br>
>><br>
>> From: Connor Abbott <<a href="mailto:cwabbott0@gmail.com" target="_blank">cwabbott0@gmail.com</a>><br>
>><br>
>> This series adds all the bits to enable EXT_shader_subgroup_vote and<br>
>> EXT_shader_subgroup_ballot for radv. It's based on my previous series to<br>
>> fix some 64-bit bugs in radv and anv, since nothing would work without<br>
>> them.<br>
>><br>
>> Patches 1-4 are a resend of my previous series to add ARB_shader_ballot<br>
>> and ARB_shader_group_vote support to NIR, with some changes suggested by<br>
>> Jason and minor bugfixes. Patches 5-8 add SPIRV-to-NIR support for the<br>
>> SPIR-V extensions. Finally, the rest of the patches move some of the<br>
>> existing logic for ARB_shader_ballot and ARB_shader_group_vote into ac<br>
>> when appropriate and turn on the extension for radv.<br>
>><br>
>> One question I had was about how to handle the differences between<br>
>> SPIR-V and GL here. SPIR-V decided to make the things that return a<br>
>> bitmask of invocations return a uvec4, whereas in the GL extension they<br>
>> return a uint64_t. Right now, in NIR, we use the GL semantics, and we<br>
>> translate that in vtn. I'm open to changing that, though.<br>
><br>
><br>
> Pragmatically, I'd say stick with the GL semantics for now. We'd only ever<br>
> have to change that if somebody decides to build a GPU with 128-wide waves,<br>
> but given how having wider waves increasingly hurts with divergence, that<br>
> seems unlikely to happen.<br>
><br>
><br>
>> I wrote a few crucible tests to test the extension (mostly copied from<br>
>> the piglit ARB_shader_ballot and ARB_shader_group_vote coverage), which<br>
>> I'll send out shortly. One of the tests is crashing because of<br>
>> <a href="https://github.com/KhronosGroup/glslang/issues/930" rel="noreferrer" target="_blank">https://github.com/KhronosGroup/glslang/issues/930</a>, but other than that<br>
>> it passes the tests.<br>
><br>
><br>
> Looks like an alternative GLSL-to-SPIRV compiler would really be nice to<br>
> have...<br>
><br>
> I've sent comments on some of the patches, mostly the NIR attribute stuff.<br>
> Sorry I didn't notice that sooner.<br>
><br>
> Cheers,<br>
> Nicolai<br>
><br>
><br>
><br>
>> I also made sure I didn't regress piglit on<br>
>> radeonsi. It might be a good idea to run it on Intel's CI system,<br>
>> especially given patches 5 and 6.<br>
>><br>
>> This series is also available at:<br>
>> git://<a href="http://people.freedesktop.org/~cwabbott0/mesa" rel="noreferrer" target="_blank">people.freedesktop.org/~cwabbott0/mesa</a> radv-shader-ballot<br>
>><br>
>> Connor Abbott (17):<br>
>>    nir: introduce new convergent and cross-thread attributes<br>
>>    nir/gcm: use the new cross-thread attribute<br>
>>    nir: take cross-thread operations into account into a few places<br>
>>    nir: add ARB_shader_ballot and ARB_shader_group_vote instructions<br>
>>    mesa: fix 64-bit issues with system_values_read<br>
>>    compiler: add new system values for SPV_KHR_shader_ballot<br>
>>    nir/lower_system_values: handle SPIR-V shader_ballot system values<br>
>>    nir/spirv: add plumbing for KHR_shader_ballot and KHR_subgroup_vote<br>
>>    ac: add i32_0 convenience member to ac_llvm_context<br>
>>    radeonsi: move llvm_get_type_size() to ac<br>
>>    radeonsi: move emit_optimization_barrier() to ac<br>
>>    ac: add i64 type to ac_llvm_context<br>
>>    radeonsi: move si_emit_ballot() to ac<br>
>>    ac: add i32_1 convenience member to ac_llvm_context<br>
>>    radeonsi: move the guts of ARB_shader_group_vote emission to ac<br>
>>    ac: enable the AMDGPU asm parser<br>
>>    radv/ac: enable EXT_shader_subgroup_ballot and<br>
>>      EXT_shader_subgroup_vote<br>
>><br>
>>   src/amd/common/ac_llvm_build.c             | 127<br>
>> +++++++++++++++++++++++++++<br>
>>   src/amd/common/ac_llvm_build.h             |  18 ++++<br>
>>   src/amd/common/ac_llvm_util.c              |   4 +<br>
>>   src/amd/common/ac_nir_to_llvm.c            |  75 ++++++++++++++++<br>
>>   src/amd/vulkan/radv_device.c               |   8 ++<br>
>>   src/amd/vulkan/radv_pipeline.c             |   2 +<br>
>>   src/compiler/nir/nir.c                     |  28 ++++++<br>
>>   src/compiler/nir/nir.h                     |  80 +++++++++++++++++<br>
>>   src/compiler/nir/nir_instr_set.c           |  22 +++++<br>
>>   src/compiler/nir/nir_intrinsics.h          |  30 +++++++<br>
>>   src/compiler/nir/nir_lower_system_values.c |  38 ++++++++<br>
>>   src/compiler/nir/nir_opt_gcm.c             |  72 +++++----------<br>
>>   src/compiler/nir/nir_opt_peephole_select.c |  11 +++<br>
>>   src/compiler/shader_enums.c                |   5 ++<br>
>>   src/compiler/shader_enums.h                |  11 +++<br>
>>   src/compiler/spirv/nir_spirv.h             |   2 +<br>
>>   src/compiler/spirv/spirv_to_nir.c          |  80 +++++++++++++++++<br>
>>   src/compiler/spirv/vtn_variables.c         |  28 ++++++<br>
>>   src/gallium/auxiliary/nir/tgsi_to_nir.c    |   2 +-<br>
>>   src/gallium/drivers/radeonsi/si_shader.c   | 136<br>
>> +++--------------------------<br>
>>   src/intel/compiler/brw_vec4_gs_visitor.cpp |   3 +-<br>
>>   src/mesa/program/programopt.c              |   2 +-<br>
>>   src/mesa/state_tracker/st_glsl_to_tgsi.cpp |   9 +-<br>
>>   src/mesa/state_tracker/st_mesa_to_tgsi.c   |   6 +-<br>
>>   24 files changed, 617 insertions(+), 182 deletions(-)<br>
>><br>
><br>
><br>
> --<br>
> Lerne, wie die Welt wirklich ist,<br>
> Aber vergiss niemals, wie sie sein sollte.<br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div>