Skip to content
  • Andres Gomez's avatar
    arb_enhanced_layouts: add component aliasing tests · 93f48c04
    Andres Gomez authored
    
    
    New tests for component aliasing with duplicated inputs which match
    the same output variable in the previous stage.
    
    From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.60 spec:
    
      " Location aliasing is causing two variables or block members to
        have the same location number. Component aliasing is assigning the
        same (or overlapping) component numbers for two location
        aliases. (Recall if component is not used, components are assigned
        starting with 0.) With one exception, location aliasing is allowed
        only if it does not cause component aliasing; it is a compile-time
        or link-time error to cause component aliasing."
    
    From Section 7.4.1 (Shader Interface Matching) of the OpenGL 4.60 spec:
    
      "   * An output variable is considered to match an input variable in
            the subsequent shader if:
    
            – the two variables match in name, type, and qualification,
              and neither has a location qualifier, or
    
            – the two variables are declared with the same location and
              component layout qualifiers and match in type and
              qualification."
    
    Cc: Timothy Arceri <tarceri@itsqueeze.com>
    Cc: Iago Toral Quiroga <itoral@igalia.com>
    Cc: Ilia Mirkin <imirkin@alum.mit.edu>
    Signed-off-by: default avatarAndres Gomez <agomez@igalia.com>
    Reviewed-by: default avatarJuan A. Suarez <jasuarez@igalia.com>
    93f48c04