Errata to the WebGL Specification

From WebGL Public Wiki
Jump to navigation Jump to search

This page describes areas in the WebGL specification where known bugs in graphics drivers affect the conformance suite, and consequently, portability of code.

WebGL 2.0

Linux, NVIDIA GPUs

gl_FragDepth is not clamped to [0.0, 1.0]. [Standalone test case]. Affects conformance test deqp/functional/gles3/fbodepthbuffer.html.

A bug in assignment of uniform locations in struct types which reference other struct types affects conformance test deqp/functional/gles3/uniformapi/random.html. [Chromium bug 621178].

macOS, all GPUs

The GLSL compiler on macOS shares namespaces where it should not. [Conformance test bug]; affects deqp/data/gles3/shaders/scoping.html.

macOS, AMD GPUs

Bugs in the implementation of transform feedback affect the ability to collect multiple draw calls' results into output buffers. Because of this bug, none of the conformance suite's transform feedback tests are passing on this OS/GPU combination. The workaround is to use only a single draw call per transform feedback operation. Apple Radar 28126946, [Chromium bug 526748]

Points where gl_PointSize is set to a value greater than 1 are clipped if the centroid goes outside the viewport, in violation of the OpenGL ES 3.0 conformance suite, but apparently not in violation of the OpenGL specification. This behavioral change is still being discussed; a Radar filed earlier was closed as "working as intended".

macOS, Intel GPUs

If a texture's magnification filter is set to NEAREST, then the minification filter will be treated as NEAREST, even if it is set to LINEAR. Apple Radar 28902129, [Chromium bug 656478]

Setting READ_BUFFER and DRAW_BUFFERs affects framebuffer completeness. Apple Radar 29715965, [Chromium bug 630800]

The multisampling constancy_alpha_to_coverage conformance tests fail. [Chromium bug 663184]

In Chrome, uploading a large canvas rendered with the 2D canvas context to a WebGL texture using the texSubImage2D operation can cause corruption of the resulting texture. Use texImage2D as a workaround. Apple Radar 29563996, [Chromium bug 665656]

Uploading texture data to the RGB9_E5 internal format causes a "Rats, WebGL hit a snag" error in Chrome. Apple Radar 29259244, [Chromium bug 663188]

Windows, all GPUs

Some shadow sampler functions are missing in Direct3D 11. Rather than have inconsistent behavior, shaders utilizing these built-in functions will fail compilation. The full list of functions is described in [this bug]. The affected conformance test is deqp/functional/gles3/shadertexturefunction/texture.html.

Windows, AMD GPUs

Some Direct3D 11 drivers have issues with blitting depth/stencil formats. [Chromium bug 638323], deqp/functional/gles3/framebufferblit/depth_stencil.html.