<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 14, 2016 at 11:57 PM, Jordan Justen <span dir="ltr"><<a href="mailto:jordan.l.justen@intel.com" target="_blank">jordan.l.justen@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Signed-off-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
---<br>
 src/mesa/drivers/dri/i965/brw_fs.cpp | 1 +<br>
 src/mesa/drivers/dri/i965/brw_nir.c  | 8 ++++++++<br>
 src/mesa/drivers/dri/i965/brw_nir.h  | 1 +<br>
 3 files changed, 10 insertions(+)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
index ff67cf4..41bb170 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
@@ -5730,6 +5730,7 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,<br>
    nir_shader *shader = nir_shader_clone(mem_ctx, src_shader);<br>
    shader = brw_nir_apply_sampler_key(shader, compiler->devinfo, &key->tex,<br>
                                       true);<br>
+   brw_nir_lower_cs_shared(shader);<br>
    shader = brw_postprocess_nir(shader, compiler->devinfo, true);<br>
<br>
    prog_data->local_size[0] = shader->info.cs.local_size[0];<br>
diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c<br>
index a5949d5..2435046 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_nir.c<br>
+++ b/src/mesa/drivers/dri/i965/brw_nir.c<br>
@@ -377,6 +377,14 @@ brw_nir_lower_uniforms(nir_shader *nir, bool is_scalar)<br>
    }<br>
 }<br>
<br>
+void<br>
+brw_nir_lower_cs_shared(nir_shader *nir)<br>
+{<br>
+   nir_assign_var_locations(&nir->shared, &nir->num_shared,<br>
+                            type_size_scalar_bytes);<br>
+   nir_lower_io(nir, nir_var_shared, type_size_scalar_bytes);<br></blockquote><div><br></div><div>I'm not seeing how this doesn't stomp num_shared which has previously been loaded up with values from GLSL.  I looked through the other two patches and it's still not clear.  I think the best thing to do is to just drop patches 8 and 9 as they are GL-specific and GL should work without them.  With that, the series is<br><br></div><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+}<br>
+<br>
 #define OPT(pass, ...) ({                                  \<br>
    bool this_progress = false;                             \<br>
    NIR_PASS(this_progress, nir, pass, ##__VA_ARGS__);      \<br>
diff --git a/src/mesa/drivers/dri/i965/brw_nir.h b/src/mesa/drivers/dri/i965/brw_nir.h<br>
index 2d8341f..440b4ce 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_nir.h<br>
+++ b/src/mesa/drivers/dri/i965/brw_nir.h<br>
@@ -95,6 +95,7 @@ void brw_nir_lower_fs_inputs(nir_shader *nir);<br>
 void brw_nir_lower_vue_outputs(nir_shader *nir, bool is_scalar);<br>
 void brw_nir_lower_tcs_outputs(nir_shader *nir, const struct brw_vue_map *vue);<br>
 void brw_nir_lower_fs_outputs(nir_shader *nir);<br>
+void brw_nir_lower_cs_shared(nir_shader *nir);<br>
<br>
 nir_shader *brw_postprocess_nir(nir_shader *nir,<br>
                                 const struct brw_device_info *devinfo,<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.7.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">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>
</font></span></blockquote></div><br></div></div>