• Andres Gomez's avatar
    arb_program_interface_query: redefine built-ins with SSOs · 7b4ed86f
    Andres Gomez authored
    From Section 7.4.1 (Shader Interface Matching) of the OpenGL 4.60
    spec:
    
      " To use any built-in input or output in the gl_PerVertex block in
        separable program objects, shader code must redeclare that block
        prior to use. A separable program will fail to link if:
    
          * it contains multiple shaders of a single type with different
            redeclarations of this built-in block; or
    
          * any shader uses a built-in block member not found in the
            redeclaration of that block.
    
        There is one exception to this rule described below.
    
        As described above, an exact interface match requires matching
        built-in input and output blocks. At an interface between two
        non-fragment shader stages, the gl_PerVertex input and output
        blocks are considered to match if and only if the block members
        match exactly in name, type, qualification, and declaration order.
        At an interface involving the fragment shader stage, the presence
        or absence of any built-in output does not affect interface
        matching."
    Signed-off-by: Andres Gomez's avatarAndres Gomez <agomez@igalia.com>
    Reviewed-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
    Reviewed-by: default avatarMartin Peres <martin.peres@linux.intel.com>
    7b4ed86f
Name
Last commit
Last update
ci/appveyor Loading commit data...
cmake Loading commit data...
completions/bash Loading commit data...
docker Loading commit data...
docs Loading commit data...
examples/glsl_parser_test Loading commit data...
framework Loading commit data...
generated_tests Loading commit data...
licences Loading commit data...
registry Loading commit data...
self-tests Loading commit data...
src Loading commit data...
templates Loading commit data...
tests Loading commit data...
unittests Loading commit data...
.dir-locals.el Loading commit data...
.editorconfig Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.travis.yml Loading commit data...
CMakeLists.txt Loading commit data...
COPYING Loading commit data...
HACKING Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
TODO Loading commit data...
appveyor.yml Loading commit data...
piglit Loading commit data...
piglit-print-commands.py Loading commit data...
piglit-resume.py Loading commit data...
piglit-run.py Loading commit data...
piglit-summary-html.py Loading commit data...
piglit-summary.py Loading commit data...
piglit.conf.example Loading commit data...
tox.ini Loading commit data...