[Mesa-dev] [Bug 106833] glLinkProgram is expected to fail when vertex attribute aliasing happens on ES3.0 context or later

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jun 6 06:29:58 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=106833

            Bug ID: 106833
           Summary: glLinkProgram is expected to fail when vertex
                    attribute aliasing happens on ES3.0 context or later
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: xinghua.cao at intel.com
        QA Contact: mesa-dev at lists.freedesktop.org

Steps:
1. Download chrome and install it on your Ubuntu,
https://www.google.com/chrome/?platform=linux&extra=devchannel.
2. Open chrome on command line, "google-chrome-unstable --use-gl=egl".
3. Open the link,
https://www.khronos.org/registry/webgl/sdk/tests/conformance2/attribs/gl-bindAttribLocation-aliasing-inactive.html?webglVersion=2&quiet=0
4. Some cases fail.

Notes:
These failed cases verify that glLinkProgram is expected to fail when binding
two vertex inputs(attributes) to the same position.
You could read the spec to get more information(OpenGL ES GLSL 3.0, issue
12.46, P150).
I am not sure whether OpenGL GLSL 4.5 and OpenGL ES GLSL 2.0 allow this
behavior. (It seems that OpenGL ES GLSL 2.0 allows this behavior, and does not
report error when linking program)

One case may be as below,
the vertex shader:
#version 300 es
in mediump float a_1;
in mediump float a_2;
void main()
{
    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);
}

API side calls:
var glProgram = gl.createProgram();
gl.bindAttribLocation(glProgram, l, 'a_1'); 
gl.bindAttribLocation(glProgram, l, 'a_2');  // bind a_2 the same location as
a_1
gl.attachShader(glProgram, glVertexShader);
gl.attachShader(glProgram, glFragmentShader);
gl.linkProgram(glProgram);    // Expect failure here

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180606/9b8da473/attachment.html>


More information about the mesa-dev mailing list