Commit d7c66cac authored by James Darpinian's avatar James Darpinian Committed by Commit Bot

gpu: Forbid aliasing inactive attributes in GLSL 3+

The GLSL 3.00.6 spec forbids aliasing of attributes even if they are
inactive. Earlier versions of GLSL still allow it. This mirrors an ANGLE
change: http://crrev.com/c/1005077

Fixes WebGL conformance test
conformance2/attribs/gl-bindAttribLocation-aliasing-inactive.html

Bug: 829541
Change-Id: I8163c3fac3ca7b5b0c6efd9f9a88b9f92c2d19f6
Reviewed-on: https://chromium-review.googlesource.com/c/1359413Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613362}
parent 46027521
......@@ -82,11 +82,6 @@ class WebGL2ConformanceExpectations(WebGLConformanceExpectations):
# All platforms.
self.Fail('conformance2/glsl3/tricky-loop-conditions.html', bug=905001)
# All non-ANGLE platforms.
self.Fail('conformance2/attribs/' +
'gl-bindAttribLocation-aliasing-inactive.html',
['no_angle'], bug=829541)
# Newly introduced flaky failure.
# TODO(kbr): re-enable after fixing test.
self.Flaky('conformance/textures/misc/' +
......
......@@ -1881,7 +1881,7 @@ bool Program::DetectAttribLocationBindingConflicts() const {
continue;
attrib = shader->GetAttribInfo(*mapped_name);
if (attrib) {
if (attrib->staticUse)
if (shader->shader_version() >= 300 || attrib->staticUse)
break;
else
attrib = nullptr;
......
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