[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