<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Sep 15, 2016 at 1:23 AM, Dave Airlie <span dir="ltr"><<a href="mailto:airlied@gmail.com" target="_blank">airlied@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Dave Airlie <<a href="mailto:airlied@redhat.com">airlied@redhat.com</a>><br>
<br>
This adds support for the input attachments subpass type<br>
to the SPIRV->NIR pass.<br>
---<br>
 src/compiler/spirv/spirv_to_<wbr>nir.c | 4 +++-<br>
 1 file changed, 3 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/compiler/spirv/spirv_to_<wbr>nir.c b/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
index 7e7a026..45dfe0b 100644<br>
--- a/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
+++ b/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
@@ -828,6 +828,7 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode,<br>
       case SpvDimCube:     dim = GLSL_SAMPLER_DIM_CUBE;  break;<br>
       case SpvDimRect:     dim = GLSL_SAMPLER_DIM_RECT;  break;<br>
       case SpvDimBuffer:   dim = GLSL_SAMPLER_DIM_BUF;   break;<br>
+      case SpvDimSubpassData: dim = GLSL_SAMPLER_DIM_SUBPASS; break;<br>
       default:<br>
          unreachable("Invalid SPIR-V Sampler dimension");<br>
       }<br>
@@ -854,7 +855,7 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode,<br>
          val->type->type = glsl_sampler_type(dim, is_shadow, is_array,<br>
                                              glsl_get_base_type(sampled_<wbr>type));<br>
       } else if (sampled == 2) {<br>
-         assert(format);<br>
+         assert((dim == GLSL_SAMPLER_DIM_SUBPASS) || format);<br>
          assert(!is_shadow);<br>
          val->type->type = glsl_image_type(dim, is_array,<br>
                                            glsl_get_base_type(sampled_<wbr>type));<br>
@@ -1419,6 +1420,7 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode,<br>
       case GLSL_SAMPLER_DIM_2D:<br>
       case GLSL_SAMPLER_DIM_RECT:<br>
       case GLSL_SAMPLER_DIM_MS:<br>
+      case GLSL_SAMPLER_DIM_SUBPASS:<br></blockquote><div><br></div><div>I don't think this is correct.  Given that they're being handled as storage images, you should never actually get here.  Probably best to let it fall through to the unreachable so we catch it if someone ever tries to texture from a subpassInput.<br><br></div><div>I left one other comment on the first patch.  With those two fixed,<br><br></div><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br><br></div><div>This is a lot simpler than I expected and I think it probably is better to just use storage images and convert to textures in a lowering pass.  If they ever let you combine a sampler with a subpassInput, we'll have to rethink things a bit, but I like the way this looks.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          coord_components = 2;<br>
          break;<br>
       case GLSL_SAMPLER_DIM_3D:<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.5.5<br>
<br>
______________________________<wbr>_________________<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/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>