On Fri, Feb 23, 2018 at 11:34:31AM -0800, Caio Marcelo de Oliveira Filho wrote:
> Hi,
> 
> > diff --git a/src/compiler/spirv/vtn_variables.c 
> > b/src/compiler/spirv/vtn_variables.c
> > index 9eb85c24e9..ba2b74c2c2 100644
> > --- a/src/compiler/spirv/vtn_variables.c
> > +++ b/src/compiler/spirv/vtn_variables.c
> > @@ -1192,6 +1192,11 @@ vtn_get_builtin_location(struct vtn_builder *b,
> >           *mode = nir_var_shader_in;
> >        else if (b->shader->info.stage == MESA_SHADER_GEOMETRY)
> >           *mode = nir_var_shader_out;
> > +      else if (b->options && b->options->caps.shader_viewport_index_layer 
> > &&
> > +               (b->shader->info.stage == MESA_SHADER_VERTEX ||
> > +                b->shader->info.stage == MESA_SHADER_TESS_CTRL ||
> 
> I'm a bit unsure about this being exported to Tesselation Control
> Shader, but the extension spec does refer to Tesselation shaders (and
> not explicitly the evaluation, like in other places).

The version of the spec that includes the extensions says explicitly
in section 14.6.

    The ViewportIndex decoration must be used only within vertex,
    tessellation evaluation, geometry, and fragment shaders.

So I'll send a v3 of this patch. I wonder if the extension text (both
for the Vulkan and SPIR-V) should be more explicit about this too.


Thanks,
Caio
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to