Commit ff410196 authored by Andres Gomez's avatar Andres Gomez

arb_separate_shader_objects: add unused location qualified input test

New tests to check that an unused input varying, which would be
matched based on its explicit location, won't cause a link failure if
there is no matching output variable.

From the ARB_separate_shader_objects spec v.25:

  "   * An output variable is considered to match an input variable in
        the subequent shader if:

        * the two variables match in name, type, and qualification; or

        * the two variables are declared with the same location layout
          qualifier and match in type and qualification."

  ...

  " For program objects containing multiple shaders, LinkProgram will
    check for mismatches on interfaces between shader stages in the
    program being linked and generate a link error if a mismatch is
    detected.  A link error will be generated if any statically
    referenced input variable or block does not have a matching
    output."

Cc: Timothy Arceri <tarceri@itsqueeze.com>
Cc: Iago Toral Quiroga <itoral@igalia.com>
Cc: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: Tapani Pälli <tapani.palli@intel.com>
Cc: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
parent 461e76e8
// From the ARB_separate_shader_objects spec v.25:
//
// " * An output variable is considered to match an input variable
// in the subequent shader if:
//
// * the two variables match in name, type, and qualification;
// or
//
// * the two variables are declared with the same location
// layout qualifier and match in type and qualification."
//
// ...
//
// " For program objects containing multiple shaders, LinkProgram
// will check for mismatches on interfaces between shader stages
// in the program being linked and generate a link error if a
// mismatch is detected. A link error will be generated if any
// statically referenced input variable or block does not have a
// matching output."
[require]
GLSL >= 1.40
GL_ARB_separate_shader_objects
[vertex shader passthrough]
[fragment shader]
#version 140
#extension GL_ARB_separate_shader_objects : require
layout(location = 0) in vec4 in1;
void main()
{
}
[test]
link success
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment