<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 3/28/19 10:18 AM, Bas Nieuwenhuizen
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAP+8YyHn58GxS0L8y4e=F7+j9pHGqVdYTP07v+J7Bq6=Dtm1FQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">R-b
        <div dir="auto"><br>
        </div>
        <div dir="auto">Though not sure it really helps given code size
          increase?</div>
      </div>
    </blockquote>
    I haven't benchmarked F12017 yet. The code size increases seems to
    be LLVM related but that shouldn't matter much.<br>
    <blockquote type="cite"
cite="mid:CAP+8YyHn58GxS0L8y4e=F7+j9pHGqVdYTP07v+J7Bq6=Dtm1FQ@mail.gmail.com"><br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, Mar 27, 2019, 10:13 AM
          Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com"
            moz-do-not-send="true">samuel.pitoiset@gmail.com</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">This helps
          few compute shaders, mostly for F12017.<br>
          <br>
          27670 shaders in 14347 tests<br>
          Totals:<br>
          SGPRS: 1231173 -> 1231173 (0.00 %)<br>
          VGPRS: 866056 -> 865928 (-0.01 %)<br>
          Spilled SGPRs: 24201 -> 24201 (0.00 %)<br>
          Code Size: 46137040 -> 46144868 (0.02 %) bytes<br>
          Max Waves: 232287 -> 232302 (0.01 %)<br>
          <br>
          Totals from affected shaders:<br>
          SGPRS: 24624 -> 24624 (0.00 %)<br>
          VGPRS: 25960 -> 25832 (-0.49 %)<br>
          Spilled SGPRs: 0 -> 0 (0.00 %)<br>
          Code Size: 2922632 -> 2930460 (0.27 %) bytes<br>
          Max Waves: 1216 -> 1231 (1.23 %)<br>
          <br>
          Suggested-by: <Jason Ekstrand <a
            href="mailto:jason@jlekstrand.net" target="_blank"
            rel="noreferrer" moz-do-not-send="true">jason@jlekstrand.net</a>><br>
          Signed-off-by: Samuel Pitoiset <<a
            href="mailto:samuel.pitoiset@gmail.com" target="_blank"
            rel="noreferrer" moz-do-not-send="true">samuel.pitoiset@gmail.com</a>><br>
          ---<br>
           src/amd/common/ac_nir_to_llvm.c | 8 ++++++++<br>
           src/amd/vulkan/radv_shader.c    | 5 ++++-<br>
           2 files changed, 12 insertions(+), 1 deletion(-)<br>
          <br>
          diff --git a/src/amd/common/ac_nir_to_llvm.c
          b/src/amd/common/ac_nir_to_llvm.c<br>
          index b25cc6a0a84..c46d98e6dd9 100644<br>
          --- a/src/amd/common/ac_nir_to_llvm.c<br>
          +++ b/src/amd/common/ac_nir_to_llvm.c<br>
          @@ -3275,6 +3275,14 @@ static void visit_intrinsic(struct
          ac_nir_context *ctx,<br>
                  case nir_intrinsic_vulkan_resource_reindex:<br>
                          result = visit_vulkan_resource_reindex(ctx,
          instr);<br>
                          break;<br>
          +       case nir_intrinsic_load_vulkan_descriptor: {<br>
          +               LLVMValueRef values[2] = {<br>
          +                       get_src(ctx, instr->src[0]),<br>
          +                       ctx->ac.i32_0,<br>
          +               };<br>
          +               result =
          ac_build_gather_values(&ctx->ac, values, 2);<br>
          +               break;<br>
          +       }<br>
                  case nir_intrinsic_store_ssbo:<br>
                          visit_store_ssbo(ctx, instr);<br>
                          break;<br>
          diff --git a/src/amd/vulkan/radv_shader.c
          b/src/amd/vulkan/radv_shader.c<br>
          index 19a807df199..2751302e8b9 100644<br>
          --- a/src/amd/vulkan/radv_shader.c<br>
          +++ b/src/amd/vulkan/radv_shader.c<br>
          @@ -220,7 +220,6 @@ radv_shader_compile_to_nir(struct
          radv_device *device,<br>
                                  }<br>
                          }<br>
                          const struct spirv_to_nir_options
          spirv_options = {<br>
          -                       .lower_ubo_ssbo_access_to_offsets =
          true,<br>
                                  .caps = {<br>
                                         
          .descriptor_array_dynamic_indexing = true,<br>
                                          .device_group = true,<br>
          @@ -306,6 +305,10 @@ radv_shader_compile_to_nir(struct
          radv_device *device,<br>
                          NIR_PASS_V(nir, nir_lower_system_values);<br>
                          NIR_PASS_V(nir,
          nir_lower_clip_cull_distance_arrays);<br>
                          NIR_PASS_V(nir, nir_lower_frexp);<br>
          +<br>
          +               NIR_PASS_V(nir, nir_lower_explicit_io,<br>
          +                         nir_var_mem_ubo | nir_var_mem_ssbo,<br>
          +                       
           nir_address_format_32bit_index_offset);<br>
                  }<br>
          <br>
                  /* Vulkan uses the separate-shader linking model */<br>
          -- <br>
          2.21.0<br>
          <br>
          _______________________________________________<br>
          mesa-dev mailing list<br>
          <a href="mailto:mesa-dev@lists.freedesktop.org"
            target="_blank" rel="noreferrer" moz-do-not-send="true">mesa-dev@lists.freedesktop.org</a><br>
          <a
            href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev"
            rel="noreferrer noreferrer" target="_blank"
            moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote>
      </div>
    </blockquote>
  </body>
</html>