[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] Conformance test change around active uniforms



There's been a longstanding issue with the WebGL conformance tests
that were ported from the OpenGL ES 2.0 suite. To ensure consistency
between implementations, the WebGL harness is stricter than the OpenGL
ES one in requiring certain uniforms to be considered active or
inactive in the various test cases.

Jeff Gilbert from Mozilla rediscovered this discrepancy in
https://github.com/KhronosGroup/WebGL/pull/888 and found the root
cause: some implementations were exposing the built-in uniforms
gl_DepthRange.near, gl_DepthRange.far and gl_DepthRange.diff as active
uniforms, and some weren't.

Now that the difference in behavior is well understood, these tests
have been changed in the top of tree conformance suite to require that
these uniforms be reported as active when they are referenced in the
shaders. Please see https://github.com/KhronosGroup/WebGL/pull/902 .

The reason that only some, and not all, of these three built-in
uniforms were required to be present is pragmatic: some drivers seem
to optimize one of them away and compute it from the other two. If
necessary, implementations could be changed to report all of them.

If you have any comments on this change please post them to the list.
The archived WebGL conformance suites have been changed to allow both
the old and new behavior.

Thanks,

-Ken

-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email:
unsubscribe public_webgl
-----------------------------------------------------------