[Mesa-dev] [PATCH] glsl: remove cross validation of interpolation qualifier with GLSL 4.40

Timothy Arceri t_arceri at yahoo.com.au
Fri Jun 12 02:59:03 PDT 2015


On Tue,  9 Jun 2015 11:06:56 +0300
Tapani Pälli <tapani.palli at intel.com> wrote:

> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  src/glsl/link_varyings.cpp | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
> index 7b2d4bd..a19ee39 100644
> --- a/src/glsl/link_varyings.cpp
> +++ b/src/glsl/link_varyings.cpp
> @@ -128,7 +128,17 @@ cross_validate_types_and_qualifiers(struct
> gl_shader_program *prog, return;
>     }
>  
> -   if (input->data.interpolation != output->data.interpolation) {
> +   /* GLSL >= 4.40 removes text requiring interpolation qualifiers
> +    * to match cross stage, they must only match within the same
> stage.
> +    *
> +    * From page 84 (page 90 of the PDF) of the GLSL 4.40 spec:
> +    *
> +    *     "It is a link-time error if, within the same stage, the
> interpolation
> +    *     qualifiers of variables of the same name do not match.
> +    *
> +    */
> +   if (input->data.interpolation != output->data.interpolation &&
> +       prog->Version < 440) {
>        linker_error(prog,
>                     "%s shader output `%s' specifies %s "
>                     "interpolation qualifier, "

Reviewed-by: Timothy Arceri <t_arceri at yahoo.com.au>


More information about the mesa-dev mailing list