<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Oct 26, 2017 at 5:15 AM, Iago Toral <span dir="ltr"><<a href="mailto:itoral@igalia.com" target="_blank">itoral@igalia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I left a few minor comments in patches 1, 2, 8 and 14. Otherwise<br>
patches 1-2, 4-5 and 7-14 (3 and 6 already have Rb) are:<br>
<br>
Reviewed-by: Iago Toral Quiroga <<a href="mailto:itoral@igalia.com">itoral@igalia.com</a>><br>
<br>
I feel like patches 10, 11 could maybe use another extra review if<br>
there is someone who wants to do it, since I am not very familiar with<br>
how all the indirect addressing stuff works and the restrictions of the<br>
hardware that affect this.<br>
<br>
Patch 14 looks good, although the part where you locate the DO block<br>
for a matching WHILE could probably use the review of someone else more<br>
familiar with the CFG code than me.<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>Curro has been working on trying to come up with a better solution to the problem so that patch will hopefully get replaced.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
Iago<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Wed, 2017-10-25 at 16:25 -0700, Jason Ekstrand wrote:<br>
> This series is a third respin of my subgroups prerequisites series<br>
> that<br>
> that I sent out a few weeks ago.  Not a whole lot has changed but<br>
> there are<br>
> some new patches.  Primarily,<br>
><br>
>  1) Some patches which were reviewed by Matt and Lionel were pushed<br>
> and are<br>
>     no longer in the series.  Thanks guys!<br>
><br>
>  2) I've applied R-B tags from various people for patches which are<br>
>     reviewed but depend on still unreviewed patches.<br>
><br>
>  3) A few patches to fix little-core.  In particular, the extra<br>
> little-core<br>
>     EU restrictions cause problems for BROADCAST, MOV_INDIRECT, and<br>
> integer<br>
>     MUL.<br>
><br>
> This series can be found on fd.o nere:<br>
><br>
> <a href="https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=review/subgroup-p" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/~<wbr>jekstrand/mesa/log/?h=review/<wbr>subgroup-p</a><br>
> rereqs-v3<br>
><br>
> Happy reviewing!<br>
><br>
><br>
> Cc: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>><br>
> Cc: Francisco Jerez <<a href="mailto:currojerez@riseup.net">currojerez@riseup.net</a>><br>
> Cc: Connor Abbott <<a href="mailto:cwabbott0@gmail.com">cwabbott0@gmail.com</a>><br>
><br>
> Francisco Jerez (1):<br>
>   intel/fs: Restrict live intervals to the subset possibly reachable<br>
>     from any definition.<br>
><br>
> Jason Ekstrand (47):<br>
>   intel/fs: Pass builders instead of blocks into emit_[un]zip<br>
>   intel/fs: Be more explicit about our placement of [un]zip<br>
>   intel/fs: Use ANY/ALL32 predicates in SIMD32<br>
>   intel/fs: Don't stomp f0.1 in SIMD16 ballot<br>
>   intel/fs: Use an explicit D type for vote any/all/eq intrinsics<br>
>   intel/fs: Use a pair of 1-wide MOVs instead of SEL for any/all<br>
>   intel/compiler: Add some restrictions to MOV_INDIRECT and BROADCAST<br>
>   intel/eu: Just modify the offset in brw_broadcast<br>
>   intel/eu/reg: Add a subscript() helper<br>
>   intel/eu: Fix broadcast instruction for 64-bit values on little-<br>
> core<br>
>   intel/fs: Fix MOV_INDIRECT for 64-bit values on little-core<br>
>   intel/fs: Fix integer multiplication lowering for src/dst hazards<br>
>   intel/fs: Use the original destination region for int MUL lowering<br>
>   i965/fs: Extend the live ranges of VGRFs which leave loops<br>
>   i965/fs/nir: Simplify 64-bit store_output<br>
>   i965/fs: Return a fs_reg from shuffle_64bit_data_for_32bit_<wbr>write<br>
>   i965/fs/nir: Minor refactor of store_output<br>
>   i965/fs/nir: Don't stomp 64-bit values to D in get_nir_src<br>
>   intel/fs: Protect opt_algebraic from OOB BROADCAST indices<br>
>   intel/fs: Uniformize the index in readInvocation<br>
>   intel/fs: Retype dest to match value in read[First]Invocation<br>
>   intel/fs: Assign constant locations if they haven't been assigned<br>
>   intel/fs: Remove min_dispatch_width from fs_visitor<br>
>   intel/cs: Drop max_dispatch_width checks from compile_cs<br>
>   intel/cs: Stop setting dispatch_grf_start_reg<br>
>   intel/cs: Ignore runtime_check_aads_emit for CS<br>
>   intel/fs: Mark 64-bit values as being contiguous<br>
>   intel/cs: Rework the way thread local ID is handled<br>
>   intel/cs: Re-run final NIR optimizations for each SIMD size<br>
>   intel/cs: Re-run final NIR optimizations for each SIMD size<br>
>   intel/cs: Push subgroup ID instead of base thread ID<br>
>   intel/compiler/fs: Set up subgroup invocation as a system value<br>
>   intel/fs: Rework zero-length URB write handling<br>
>   intel/eu: Make automatic exec sizes a configurable option<br>
>   intel/eu: Explicitly set EXECUTE_1 where needed<br>
>   intel/fs: Explicitly set EXECUTE_1 where needed<br>
>   intel/fs: Don't use automatic exec size inference<br>
>   nir: Add a new subgroups lowering pass<br>
>   nir: Add a ssa_dest_init_for_type helper<br>
>   nir: Make ballot intrinsics variable-size<br>
>   nir/lower_system_values: Lower SUBGROUP_*_MASK based on type<br>
>   nir/lower_subgroups: Lower ballot intrinsics to the specified bit<br>
> size<br>
>   nir,intel/compiler: Use a fixed subgroup size<br>
>   spirv: Add a vtn_constant_value helper<br>
>   spirv: Rework barriers<br>
>   nir: Validate base types on array dereferences<br>
>   compiler/nir_types: Handle vectors in glsl_get_array_element<br>
><br>
>  src/compiler/Makefile.<wbr>sources                      |<wbr>   2 +-<br>
>  src/compiler/glsl/glsl_to_<wbr>nir.cpp                  |   1 +<br>
>  src/compiler/nir/nir.h       <wbr>                      |  25 +-<br>
>  src/compiler/nir/nir_<wbr>intrinsics.h                  <wbr>|  13 +-<br>
>  .../nir/nir_lower_read_<wbr>invocation_to_scalar.c      | 112 ---------<br>
>  src/compiler/nir/nir_lower_<wbr>subgroups.c             | 257<br>
> ++++++++++++++++++++<br>
>  src/compiler/nir/nir_lower_<wbr>system_values.c         |   4 +-<br>
>  src/compiler/nir/nir_opt_<wbr>intrinsics.c              |  <wbr>69 +-----<br>
>  src/compiler/nir/nir_<wbr>validate.c                    <wbr>|  18 +-<br>
>  src/compiler/nir_types.cpp   <wbr>                      |   2 +<br>
>  src/compiler/spirv/spirv_to_<wbr>nir.c                  | 132 ++++++++--<br>
>  src/compiler/spirv/vtn_<wbr>private.h                   | <wbr>  6 +<br>
>  src/intel/compiler/brw_<wbr>compiler.c                  | <wbr>  4 -<br>
>  src/intel/compiler/brw_<wbr>compiler.h                  | <wbr>  3 +-<br>
>  src/intel/compiler/brw_eu.c  <wbr>                      |   1 +<br>
>  src/intel/compiler/brw_eu.h  <wbr>                      |  10 +<br>
>  src/intel/compiler/brw_eu_<wbr>emit.c                   |  90 +++++--<br>
>  src/intel/compiler/brw_fs.<wbr>cpp                      | 268<br>
> ++++++++++++---------<br>
>  src/intel/compiler/brw_fs.h  <wbr>                      |  15 +-<br>
>  src/intel/compiler/brw_fs_<wbr>generator.cpp            |  90 ++++---<br>
>  src/intel/compiler/brw_fs_<wbr>live_variables.cpp       |  89 ++++++-<br>
>  src/intel/compiler/brw_fs_<wbr>live_variables.h         |  12 +<br>
>  src/intel/compiler/brw_fs_<wbr>nir.cpp                  | 262<br>
> ++++++++++++--------<br>
>  src/intel/compiler/brw_fs_<wbr>visitor.cpp              |  78 +++---<br>
>  src/intel/compiler/brw_nir.c <wbr>                      |  11 +-<br>
>  src/intel/compiler/brw_nir.h <wbr>                      |   2 +-<br>
>  src/intel/compiler/brw_nir_<wbr>lower_cs_intrinsics.c   |  56 ++---<br>
>  src/intel/compiler/brw_reg.h <wbr>                      |  16 ++<br>
>  src/intel/compiler/brw_<wbr>shader.cpp                  | <wbr>  2 +<br>
>  src/intel/vulkan/anv_cmd_<wbr>buffer.c                  |   <wbr>6 +-<br>
>  src/mesa/drivers/dri/i965/<wbr>gen6_constant_state.c    |   6 +-<br>
>  31 files changed, 1076 insertions(+), 586 deletions(-)<br>
>  delete mode 100644<br>
> src/compiler/nir/nir_lower_<wbr>read_invocation_to_scalar.c<br>
>  create mode 100644 src/compiler/nir/nir_lower_<wbr>subgroups.c<br>
><br>
</div></div></blockquote></div><br></div></div>