<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, May 3, 2017 at 12: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">Hi Jason<br>
<br>
Sorry that I missed this. All the changes look good to me and I have<br>
sent reviews for the patches that missed them. With this series we pass<br>
all the multiview tests<font color="#888888">.</font></blockquote><div><br></div><div>Thanks!<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"><br>
Iago<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Thu, 2017-04-27 at 09:31 -0700, Jason Ekstrand wrote:<br>
> This is mostly a re-send of my earlier patches but there are a few<br>
> changes.<br>
> I think, at this point, that I'm ready to merge it assuming Iago is<br>
> ok with<br>
> the changes.  The important chages are:<br>
><br>
>  1. The lowering pass has been altered to take a view mask instead of<br>
> a<br>
>     subpass.  The rest of the anv_pipeline code has also been<br>
> modified to<br>
>     properly incorporate the view mask into the shader key.<br>
>  2. There have been two fixes to the code which multiplies the number<br>
> of<br>
>     invocations by the number of views.  First was that I<br>
> accidentally used<br>
>     AND instead of ADD.  Second was an off-by-one error when adding<br>
> ALU<br>
>     operations to an MI_MATH instruction that made us stomp the<br>
> MI_MATH<br>
>     instruction itself instead of starting on dword 1.<br>
><br>
>  3. I've added a trivial implementation of multiDrawIndirect.  This<br>
> isn't<br>
>     really required but some of the tests erroneously required it by<br>
>     mistake.  I'm not 100% sure that I like having a software<br>
>     implementation of multiDrawIndirect but it's no worse (and<br>
> probably<br>
>     slightly better) than an application fall-back would be.<br>
> Jason Ekstrand (14):<br>
>   compiler: Add a system value and varying for ViewIndex<br>
>   spirv: Bump the SPIR-V header to the latest public version<br>
>   spirv: Add support for SPV_KHR_multiview<br>
>   anv/nir: Delete the apply_dynamic_offsets prototype<br>
>   anv: Add the KHX_multiview boilerplate<br>
>   anv/pass: Store the per-subpass view mask<br>
>   anv: Move shader hashing to anv_pipeline<br>
>   anv/pipeline: Call nir_gather_info later<br>
>   anv/pipeline: Add a subpass field to anv_pipeline<br>
>   anv/pipeline: Add shader lowering for multiview<br>
>   anv/cmd_buffer: Pull indirect draw parameter loading into a helper<br>
>   anv/cmd_buffer: Emit instanced draws for multiple views<br>
>   anv: Enable VK_KHX_multiview and SPV_KHR_multiview<br>
>   anv: Trivially implement multiDrawIndirect<br>
><br>
>  src/compiler/nir/nir.c       <wbr>              |   4 +<br>
>  src/compiler/nir/nir_<wbr>intrinsics.h          |   1 +<br>
>  src/compiler/shader_enums.c  <wbr>              |   2 +<br>
>  src/compiler/shader_enums.h  <wbr>              |   4 +<br>
>  src/compiler/spirv/nir_spirv.<wbr>h             |   1 +<br>
>  src/compiler/spirv/spirv.h   <wbr>              |  34 ++++-<br>
>  src/compiler/spirv/spirv_to_<wbr>nir.c          |   4 +<br>
>  src/compiler/spirv/vtn_<wbr>variables.c         |   4 +<br>
>  src/intel/Makefile.sources   <wbr>              |   1 +<br>
>  src/intel/vulkan/anv_device.<wbr>c              |  23 ++-<br>
>  src/intel/vulkan/anv_<wbr>entrypoints_gen.py    |   1 +<br>
>  src/intel/vulkan/anv_nir.h   <wbr>              |   5 +-<br>
>  src/intel/vulkan/anv_nir_<wbr>lower_multiview.c | 234<br>
> +++++++++++++++++++++++++++++<br>
>  src/intel/vulkan/anv_pass.c  <wbr>              |  19 +++<br>
>  src/intel/vulkan/anv_<wbr>pipeline.c            |  83 +++++++---<br>
>  src/intel/vulkan/anv_<wbr>pipeline_cache.c      |  27 ----<br>
>  src/intel/vulkan/anv_private.<wbr>h             |  15 +-<br>
>  src/intel/vulkan/genX_cmd_<wbr>buffer.c         | 209<br>
> ++++++++++++++++++++++----<br>
>  src/intel/vulkan/genX_<wbr>pipeline.c           |   9 +-<br>
>  src/mesa/program/prog_print.<wbr>c              |   2 +<br>
>  20 files changed, 588 insertions(+), 94 deletions(-)<br>
>  create mode 100644 src/intel/vulkan/anv_nir_<wbr>lower_multiview.c<br>
> </div></div></blockquote></div><br></div></div>