Temporarily skip GL_DEPTH_COMPONENT32_OES requirement for depth textures on iOS
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Apr 2020 20:24:25 +0000 (20:24 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Apr 2020 20:24:25 +0000 (20:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=211055
<rdar://problem/62410499>

Reviewed by Darin Adler.

Source/ThirdParty/ANGLE:

ANGLE requires GL_DEPTH_COMPONENT32_OES be available in order to expose the
depth texture extension. However, this format is not supported on iOS.
Temporarily remove this restriction while investigating other bugs.

This also allows us to see the failing results in
fast/canvas/webgl/webgl-depth-texture.html
webgl/1.0.3/conformance/extensions/webgl-depth-texture.html

* src/libANGLE/Caps.cpp:
(gl::DetermineDepthTextureANGLESupport):
(gl::DetermineDepthTextureOESSupport):

LayoutTests:

Unskip the fast/canvas/webgl/webgl-depth-texture.html now that
the extension is "supported". It has failing results.

* platform/ios/TestExpectations:
* platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt: new results.
* platform/ios/webgl/1.0.3/conformance/extensions/webgl-depth-texture-expected.txt: new results.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/ios/TestExpectations
LayoutTests/platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/webgl/1.0.3/conformance/extensions/webgl-depth-texture-expected.txt [new file with mode: 0644]
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/src/libANGLE/Caps.cpp
Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp

index 177c20e..aa3062b 100644 (file)
@@ -1,3 +1,18 @@
+2020-04-27  Dean Jackson  <dino@apple.com>
+
+        Temporarily skip GL_DEPTH_COMPONENT32_OES requirement for depth textures on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=211055
+        <rdar://problem/62410499>
+
+        Reviewed by Darin Adler.
+
+        Unskip the fast/canvas/webgl/webgl-depth-texture.html now that
+        the extension is "supported". It has failing results.
+
+        * platform/ios/TestExpectations:
+        * platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt: new results.
+        * platform/ios/webgl/1.0.3/conformance/extensions/webgl-depth-texture-expected.txt: new results.
+
 2020-04-27  Jason Lawrence  <lawrence.j@apple.com>
 
         storage/indexeddb/value-cursor-cycle.html is flaky failing because it incorrectly thinks our JS GC is precise.
index 5d1fa58..edb50ee 100644 (file)
@@ -3473,7 +3473,6 @@ webkit.org/b/207858 webgl/webgl-box-shadow.html [ Pass Failure ImageOnlyFailure
 webkit.org/b/207858 fast/canvas/webgl/oes-texture-half-float-uint16.html [ Pass Failure ]
 webkit.org/b/207858 fast/canvas/webgl/program-test.html [ Failure ]
 webkit.org/b/207858 fast/canvas/webgl/uninitialized-test.html [ Pass Failure ]
-webkit.org/b/207858 fast/canvas/webgl/webgl-depth-texture.html [ Pass Failure ]
 webkit.org/b/207858 fast/canvas/webgl/webgl-texture-binding-preserved.html [ Pass Failure ]
 webkit.org/b/207858 fast/canvas/webgl/oes-texture-float-linear.html [ Pass Failure ]
 webkit.org/b/207858 fast/canvas/webgl/oes-vertex-array-object.html [ Pass Failure ]
diff --git a/LayoutTests/platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt b/LayoutTests/platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt
new file mode 100644 (file)
index 0000000..fdbdaa0
--- /dev/null
@@ -0,0 +1,420 @@
+This test verifies the functionality of the WEBGL_depth_texture extension, if it is available.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS WebGL context exists
+Testing binding enum with extension disabled
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_ENUM.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_ENUM.
+PASS Successfully enabled WEBGL_depth_texture extension
+PASS WEBGL_depth_texture listed as supported and getExtension succeeded
+Testing WEBGL_depth_texture
+
+testing: UNSIGNED_SHORT
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, new Uint16Array(1)) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, canvas2) generated one of expected GL errors: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION.
+PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 0, 0, 1, 1, 0) generated one of expected GL errors: INVALID_ENUM or INVALID_OPERATION.
+FAIL gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 8, 8, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) expected: NO_ERROR. Was INVALID_OPERATION.
+PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, new Uint16Array(1)) generated expected GL error: INVALID_OPERATION.
+FAIL gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1) expected: INVALID_OPERATION. Was INVALID_VALUE.
+PASS gl.generateMipmap(gl.TEXTURE_2D) generated expected GL error: INVALID_OPERATION.
+FAIL gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36054.
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL corners are not different enough
+FAIL gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.TEXTURE_2D, tex, 0) expected: NO_ERROR. Was INVALID_FRAMEBUFFER_OPERATION.
+PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
+PASS gl.clear(gl.DEPTH_BUFFER_BIT) generated expected GL error: INVALID_FRAMEBUFFER_OPERATION.
+PASS gl.getError() is gl.NO_ERROR
+
+testing: UNSIGNED_INT
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, canvas2) generated one of expected GL errors: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION.
+PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 0, 0, 1, 1, 0) generated one of expected GL errors: INVALID_ENUM or INVALID_OPERATION.
+FAIL gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 8, 8, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) expected: NO_ERROR. Was INVALID_OPERATION.
+PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
+FAIL gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1) expected: INVALID_OPERATION. Was INVALID_VALUE.
+PASS gl.generateMipmap(gl.TEXTURE_2D) generated expected GL error: INVALID_OPERATION.
+FAIL gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36054.
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL corners are not different enough
+FAIL gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.TEXTURE_2D, tex, 0) expected: NO_ERROR. Was INVALID_FRAMEBUFFER_OPERATION.
+PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
+PASS gl.clear(gl.DEPTH_BUFFER_BIT) generated expected GL error: INVALID_FRAMEBUFFER_OPERATION.
+PASS gl.getError() is gl.NO_ERROR
+
+testing: UNSIGNED_INT_24_8_WEBGL
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
+PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, canvas2) generated one of expected GL errors: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION.
+PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 0, 0, 1, 1, 0) generated one of expected GL errors: INVALID_ENUM or INVALID_OPERATION.
+FAIL gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 8, 8, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) expected: NO_ERROR. Was INVALID_OPERATION.
+PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
+FAIL gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1) expected: INVALID_OPERATION. Was INVALID_VALUE.
+PASS gl.generateMipmap(gl.TEXTURE_2D) generated expected GL error: INVALID_OPERATION.
+FAIL gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36054.
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL actual(0) < left(0)
+FAIL actual(0) < down(0)
+FAIL corners are not different enough
+FAIL gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, tex, 0) expected: NO_ERROR. Was INVALID_FRAMEBUFFER_OPERATION.
+PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
+PASS gl.clear(gl.DEPTH_BUFFER_BIT) generated expected GL error: INVALID_FRAMEBUFFER_OPERATION.
+PASS gl.getError() is gl.NO_ERROR
+
+PASS successfullyParsed is true
+Some tests failed.
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios/webgl/1.0.3/conformance/extensions/webgl-depth-texture-expected.txt b/LayoutTests/platform/ios/webgl/1.0.3/conformance/extensions/webgl-depth-texture-expected.txt
new file mode 100644 (file)
index 0000000..c434419
--- /dev/null
@@ -0,0 +1,413 @@
+This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
+
+Test: ../../resources/webgl_test_files/conformance/extensions/webgl-depth-texture.html
+[ 1: PASS ] WebGL context exists
+[ 2: PASS ] getError was one of: INVALID_ENUM or INVALID_VALUE : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 3: PASS ] getError was one of: INVALID_ENUM or INVALID_VALUE : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 4: PASS ] Successfully enabled WEBGL_depth_texture extension
+[ 5: PASS ] WEBGL_depth_texture listed as supported and getExtension succeeded
+[ 6: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 7: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 8: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 9: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 10: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 11: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 12: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 13: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, new Uint16Array(1))
+[ 14: PASS ] getError was one of: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, canvas2)
+[ 15: PASS ] getError was one of: INVALID_ENUM or INVALID_OPERATION : after evaluating: gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 0, 0, 1, 1, 0)
+[ 16: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 8, 8, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)
+[ 17: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, new Uint16Array(1))
+[ 18: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1)
+[ 19: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.generateMipmap(gl.TEXTURE_2D)
+[ 20: FAIL ] gl.getParameter(gl.DEPTH_BITS) should be >= 16. Was 0 (of type number).
+[ 21: PASS ] gl.getParameter(gl.STENCIL_BITS) is 0
+[ 22: FAIL ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36054.
+[ 23: FAIL ] actual(0) < left(0)
+[ 24: FAIL ] actual(0) < left(0)
+[ 25: FAIL ] actual(0) < left(0)
+[ 26: FAIL ] actual(0) < left(0)
+[ 27: FAIL ] actual(0) < left(0)
+[ 28: FAIL ] actual(0) < left(0)
+[ 29: FAIL ] actual(0) < left(0)
+[ 30: FAIL ] actual(0) < down(0)
+[ 31: FAIL ] actual(0) < left(0)
+[ 32: FAIL ] actual(0) < down(0)
+[ 33: FAIL ] actual(0) < left(0)
+[ 34: FAIL ] actual(0) < down(0)
+[ 35: FAIL ] actual(0) < left(0)
+[ 36: FAIL ] actual(0) < down(0)
+[ 37: FAIL ] actual(0) < left(0)
+[ 38: FAIL ] actual(0) < down(0)
+[ 39: FAIL ] actual(0) < left(0)
+[ 40: FAIL ] actual(0) < down(0)
+[ 41: FAIL ] actual(0) < left(0)
+[ 42: FAIL ] actual(0) < down(0)
+[ 43: FAIL ] actual(0) < left(0)
+[ 44: FAIL ] actual(0) < down(0)
+[ 45: FAIL ] actual(0) < down(0)
+[ 46: FAIL ] actual(0) < left(0)
+[ 47: FAIL ] actual(0) < down(0)
+[ 48: FAIL ] actual(0) < left(0)
+[ 49: FAIL ] actual(0) < down(0)
+[ 50: FAIL ] actual(0) < left(0)
+[ 51: FAIL ] actual(0) < down(0)
+[ 52: FAIL ] actual(0) < left(0)
+[ 53: FAIL ] actual(0) < down(0)
+[ 54: FAIL ] actual(0) < left(0)
+[ 55: FAIL ] actual(0) < down(0)
+[ 56: FAIL ] actual(0) < left(0)
+[ 57: FAIL ] actual(0) < down(0)
+[ 58: FAIL ] actual(0) < left(0)
+[ 59: FAIL ] actual(0) < down(0)
+[ 60: FAIL ] actual(0) < down(0)
+[ 61: FAIL ] actual(0) < left(0)
+[ 62: FAIL ] actual(0) < down(0)
+[ 63: FAIL ] actual(0) < left(0)
+[ 64: FAIL ] actual(0) < down(0)
+[ 65: FAIL ] actual(0) < left(0)
+[ 66: FAIL ] actual(0) < down(0)
+[ 67: FAIL ] actual(0) < left(0)
+[ 68: FAIL ] actual(0) < down(0)
+[ 69: FAIL ] actual(0) < left(0)
+[ 70: FAIL ] actual(0) < down(0)
+[ 71: FAIL ] actual(0) < left(0)
+[ 72: FAIL ] actual(0) < down(0)
+[ 73: FAIL ] actual(0) < left(0)
+[ 74: FAIL ] actual(0) < down(0)
+[ 75: FAIL ] actual(0) < down(0)
+[ 76: FAIL ] actual(0) < left(0)
+[ 77: FAIL ] actual(0) < down(0)
+[ 78: FAIL ] actual(0) < left(0)
+[ 79: FAIL ] actual(0) < down(0)
+[ 80: FAIL ] actual(0) < left(0)
+[ 81: FAIL ] actual(0) < down(0)
+[ 82: FAIL ] actual(0) < left(0)
+[ 83: FAIL ] actual(0) < down(0)
+[ 84: FAIL ] actual(0) < left(0)
+[ 85: FAIL ] actual(0) < down(0)
+[ 86: FAIL ] actual(0) < left(0)
+[ 87: FAIL ] actual(0) < down(0)
+[ 88: FAIL ] actual(0) < left(0)
+[ 89: FAIL ] actual(0) < down(0)
+[ 90: FAIL ] actual(0) < down(0)
+[ 91: FAIL ] actual(0) < left(0)
+[ 92: FAIL ] actual(0) < down(0)
+[ 93: FAIL ] actual(0) < left(0)
+[ 94: FAIL ] actual(0) < down(0)
+[ 95: FAIL ] actual(0) < left(0)
+[ 96: FAIL ] actual(0) < down(0)
+[ 97: FAIL ] actual(0) < left(0)
+[ 98: FAIL ] actual(0) < down(0)
+[ 99: FAIL ] actual(0) < left(0)
+[ 100: FAIL ] actual(0) < down(0)
+[ 101: FAIL ] actual(0) < left(0)
+[ 102: FAIL ] actual(0) < down(0)
+[ 103: FAIL ] actual(0) < left(0)
+[ 104: FAIL ] actual(0) < down(0)
+[ 105: FAIL ] actual(0) < down(0)
+[ 106: FAIL ] actual(0) < left(0)
+[ 107: FAIL ] actual(0) < down(0)
+[ 108: FAIL ] actual(0) < left(0)
+[ 109: FAIL ] actual(0) < down(0)
+[ 110: FAIL ] actual(0) < left(0)
+[ 111: FAIL ] actual(0) < down(0)
+[ 112: FAIL ] actual(0) < left(0)
+[ 113: FAIL ] actual(0) < down(0)
+[ 114: FAIL ] actual(0) < left(0)
+[ 115: FAIL ] actual(0) < down(0)
+[ 116: FAIL ] actual(0) < left(0)
+[ 117: FAIL ] actual(0) < down(0)
+[ 118: FAIL ] actual(0) < left(0)
+[ 119: FAIL ] actual(0) < down(0)
+[ 120: FAIL ] actual(0) < down(0)
+[ 121: FAIL ] actual(0) < left(0)
+[ 122: FAIL ] actual(0) < down(0)
+[ 123: FAIL ] actual(0) < left(0)
+[ 124: FAIL ] actual(0) < down(0)
+[ 125: FAIL ] actual(0) < left(0)
+[ 126: FAIL ] actual(0) < down(0)
+[ 127: FAIL ] actual(0) < left(0)
+[ 128: FAIL ] actual(0) < down(0)
+[ 129: FAIL ] actual(0) < left(0)
+[ 130: FAIL ] actual(0) < down(0)
+[ 131: FAIL ] actual(0) < left(0)
+[ 132: FAIL ] actual(0) < down(0)
+[ 133: FAIL ] actual(0) < left(0)
+[ 134: FAIL ] actual(0) < down(0)
+[ 135: FAIL ] corners are not different enough
+[ 136: FAIL ] getError expected: NO_ERROR. Was INVALID_FRAMEBUFFER_OPERATION : after evaluating: gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.TEXTURE_2D, tex, 0)
+[ 137: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
+[ 138: PASS ] getError was expected value: INVALID_FRAMEBUFFER_OPERATION : after evaluating: gl.clear(gl.DEPTH_BUFFER_BIT)
+[ 139: PASS ] gl.getError() is gl.NO_ERROR
+[ 140: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 141: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 142: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 143: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 144: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 145: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 146: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 147: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, new Uint32Array(1))
+[ 148: PASS ] getError was one of: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, canvas2)
+[ 149: PASS ] getError was one of: INVALID_ENUM or INVALID_OPERATION : after evaluating: gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 0, 0, 1, 1, 0)
+[ 150: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 8, 8, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)
+[ 151: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, new Uint32Array(1))
+[ 152: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1)
+[ 153: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.generateMipmap(gl.TEXTURE_2D)
+[ 154: FAIL ] gl.getParameter(gl.DEPTH_BITS) should be >= 16. Was 0 (of type number).
+[ 155: PASS ] gl.getParameter(gl.STENCIL_BITS) is 0
+[ 156: FAIL ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36054.
+[ 157: FAIL ] actual(0) < left(0)
+[ 158: FAIL ] actual(0) < left(0)
+[ 159: FAIL ] actual(0) < left(0)
+[ 160: FAIL ] actual(0) < left(0)
+[ 161: FAIL ] actual(0) < left(0)
+[ 162: FAIL ] actual(0) < left(0)
+[ 163: FAIL ] actual(0) < left(0)
+[ 164: FAIL ] actual(0) < down(0)
+[ 165: FAIL ] actual(0) < left(0)
+[ 166: FAIL ] actual(0) < down(0)
+[ 167: FAIL ] actual(0) < left(0)
+[ 168: FAIL ] actual(0) < down(0)
+[ 169: FAIL ] actual(0) < left(0)
+[ 170: FAIL ] actual(0) < down(0)
+[ 171: FAIL ] actual(0) < left(0)
+[ 172: FAIL ] actual(0) < down(0)
+[ 173: FAIL ] actual(0) < left(0)
+[ 174: FAIL ] actual(0) < down(0)
+[ 175: FAIL ] actual(0) < left(0)
+[ 176: FAIL ] actual(0) < down(0)
+[ 177: FAIL ] actual(0) < left(0)
+[ 178: FAIL ] actual(0) < down(0)
+[ 179: FAIL ] actual(0) < down(0)
+[ 180: FAIL ] actual(0) < left(0)
+[ 181: FAIL ] actual(0) < down(0)
+[ 182: FAIL ] actual(0) < left(0)
+[ 183: FAIL ] actual(0) < down(0)
+[ 184: FAIL ] actual(0) < left(0)
+[ 185: FAIL ] actual(0) < down(0)
+[ 186: FAIL ] actual(0) < left(0)
+[ 187: FAIL ] actual(0) < down(0)
+[ 188: FAIL ] actual(0) < left(0)
+[ 189: FAIL ] actual(0) < down(0)
+[ 190: FAIL ] actual(0) < left(0)
+[ 191: FAIL ] actual(0) < down(0)
+[ 192: FAIL ] actual(0) < left(0)
+[ 193: FAIL ] actual(0) < down(0)
+[ 194: FAIL ] actual(0) < down(0)
+[ 195: FAIL ] actual(0) < left(0)
+[ 196: FAIL ] actual(0) < down(0)
+[ 197: FAIL ] actual(0) < left(0)
+[ 198: FAIL ] actual(0) < down(0)
+[ 199: FAIL ] actual(0) < left(0)
+[ 200: FAIL ] actual(0) < down(0)
+[ 201: FAIL ] actual(0) < left(0)
+[ 202: FAIL ] actual(0) < down(0)
+[ 203: FAIL ] actual(0) < left(0)
+[ 204: FAIL ] actual(0) < down(0)
+[ 205: FAIL ] actual(0) < left(0)
+[ 206: FAIL ] actual(0) < down(0)
+[ 207: FAIL ] actual(0) < left(0)
+[ 208: FAIL ] actual(0) < down(0)
+[ 209: FAIL ] actual(0) < down(0)
+[ 210: FAIL ] actual(0) < left(0)
+[ 211: FAIL ] actual(0) < down(0)
+[ 212: FAIL ] actual(0) < left(0)
+[ 213: FAIL ] actual(0) < down(0)
+[ 214: FAIL ] actual(0) < left(0)
+[ 215: FAIL ] actual(0) < down(0)
+[ 216: FAIL ] actual(0) < left(0)
+[ 217: FAIL ] actual(0) < down(0)
+[ 218: FAIL ] actual(0) < left(0)
+[ 219: FAIL ] actual(0) < down(0)
+[ 220: FAIL ] actual(0) < left(0)
+[ 221: FAIL ] actual(0) < down(0)
+[ 222: FAIL ] actual(0) < left(0)
+[ 223: FAIL ] actual(0) < down(0)
+[ 224: FAIL ] actual(0) < down(0)
+[ 225: FAIL ] actual(0) < left(0)
+[ 226: FAIL ] actual(0) < down(0)
+[ 227: FAIL ] actual(0) < left(0)
+[ 228: FAIL ] actual(0) < down(0)
+[ 229: FAIL ] actual(0) < left(0)
+[ 230: FAIL ] actual(0) < down(0)
+[ 231: FAIL ] actual(0) < left(0)
+[ 232: FAIL ] actual(0) < down(0)
+[ 233: FAIL ] actual(0) < left(0)
+[ 234: FAIL ] actual(0) < down(0)
+[ 235: FAIL ] actual(0) < left(0)
+[ 236: FAIL ] actual(0) < down(0)
+[ 237: FAIL ] actual(0) < left(0)
+[ 238: FAIL ] actual(0) < down(0)
+[ 239: FAIL ] actual(0) < down(0)
+[ 240: FAIL ] actual(0) < left(0)
+[ 241: FAIL ] actual(0) < down(0)
+[ 242: FAIL ] actual(0) < left(0)
+[ 243: FAIL ] actual(0) < down(0)
+[ 244: FAIL ] actual(0) < left(0)
+[ 245: FAIL ] actual(0) < down(0)
+[ 246: FAIL ] actual(0) < left(0)
+[ 247: FAIL ] actual(0) < down(0)
+[ 248: FAIL ] actual(0) < left(0)
+[ 249: FAIL ] actual(0) < down(0)
+[ 250: FAIL ] actual(0) < left(0)
+[ 251: FAIL ] actual(0) < down(0)
+[ 252: FAIL ] actual(0) < left(0)
+[ 253: FAIL ] actual(0) < down(0)
+[ 254: FAIL ] actual(0) < down(0)
+[ 255: FAIL ] actual(0) < left(0)
+[ 256: FAIL ] actual(0) < down(0)
+[ 257: FAIL ] actual(0) < left(0)
+[ 258: FAIL ] actual(0) < down(0)
+[ 259: FAIL ] actual(0) < left(0)
+[ 260: FAIL ] actual(0) < down(0)
+[ 261: FAIL ] actual(0) < left(0)
+[ 262: FAIL ] actual(0) < down(0)
+[ 263: FAIL ] actual(0) < left(0)
+[ 264: FAIL ] actual(0) < down(0)
+[ 265: FAIL ] actual(0) < left(0)
+[ 266: FAIL ] actual(0) < down(0)
+[ 267: FAIL ] actual(0) < left(0)
+[ 268: FAIL ] actual(0) < down(0)
+[ 269: FAIL ] corners are not different enough
+[ 270: FAIL ] getError expected: NO_ERROR. Was INVALID_FRAMEBUFFER_OPERATION : after evaluating: gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.TEXTURE_2D, tex, 0)
+[ 271: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
+[ 272: PASS ] getError was expected value: INVALID_FRAMEBUFFER_OPERATION : after evaluating: gl.clear(gl.DEPTH_BUFFER_BIT)
+[ 273: PASS ] gl.getError() is gl.NO_ERROR
+[ 274: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 275: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 276: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 277: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 278: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 279: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 280: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 281: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, new Uint32Array(1))
+[ 282: PASS ] getError was one of: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, canvas2)
+[ 283: PASS ] getError was one of: INVALID_ENUM or INVALID_OPERATION : after evaluating: gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 0, 0, 1, 1, 0)
+[ 284: FAIL ] getError expected: NO_ERROR. Was INVALID_OPERATION : after evaluating: gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 8, 8, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null)
+[ 285: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, new Uint32Array(1))
+[ 286: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1)
+[ 287: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.generateMipmap(gl.TEXTURE_2D)
+[ 288: FAIL ] gl.getParameter(gl.DEPTH_BITS) should be >= 24. Was 0 (of type number).
+[ 289: FAIL ] gl.getParameter(gl.STENCIL_BITS) should be >= 8. Was 0 (of type number).
+[ 290: FAIL ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be 36053. Was 36054.
+[ 291: FAIL ] actual(0) < left(0)
+[ 292: FAIL ] actual(0) < left(0)
+[ 293: FAIL ] actual(0) < left(0)
+[ 294: FAIL ] actual(0) < left(0)
+[ 295: FAIL ] actual(0) < left(0)
+[ 296: FAIL ] actual(0) < left(0)
+[ 297: FAIL ] actual(0) < left(0)
+[ 298: FAIL ] actual(0) < down(0)
+[ 299: FAIL ] actual(0) < left(0)
+[ 300: FAIL ] actual(0) < down(0)
+[ 301: FAIL ] actual(0) < left(0)
+[ 302: FAIL ] actual(0) < down(0)
+[ 303: FAIL ] actual(0) < left(0)
+[ 304: FAIL ] actual(0) < down(0)
+[ 305: FAIL ] actual(0) < left(0)
+[ 306: FAIL ] actual(0) < down(0)
+[ 307: FAIL ] actual(0) < left(0)
+[ 308: FAIL ] actual(0) < down(0)
+[ 309: FAIL ] actual(0) < left(0)
+[ 310: FAIL ] actual(0) < down(0)
+[ 311: FAIL ] actual(0) < left(0)
+[ 312: FAIL ] actual(0) < down(0)
+[ 313: FAIL ] actual(0) < down(0)
+[ 314: FAIL ] actual(0) < left(0)
+[ 315: FAIL ] actual(0) < down(0)
+[ 316: FAIL ] actual(0) < left(0)
+[ 317: FAIL ] actual(0) < down(0)
+[ 318: FAIL ] actual(0) < left(0)
+[ 319: FAIL ] actual(0) < down(0)
+[ 320: FAIL ] actual(0) < left(0)
+[ 321: FAIL ] actual(0) < down(0)
+[ 322: FAIL ] actual(0) < left(0)
+[ 323: FAIL ] actual(0) < down(0)
+[ 324: FAIL ] actual(0) < left(0)
+[ 325: FAIL ] actual(0) < down(0)
+[ 326: FAIL ] actual(0) < left(0)
+[ 327: FAIL ] actual(0) < down(0)
+[ 328: FAIL ] actual(0) < down(0)
+[ 329: FAIL ] actual(0) < left(0)
+[ 330: FAIL ] actual(0) < down(0)
+[ 331: FAIL ] actual(0) < left(0)
+[ 332: FAIL ] actual(0) < down(0)
+[ 333: FAIL ] actual(0) < left(0)
+[ 334: FAIL ] actual(0) < down(0)
+[ 335: FAIL ] actual(0) < left(0)
+[ 336: FAIL ] actual(0) < down(0)
+[ 337: FAIL ] actual(0) < left(0)
+[ 338: FAIL ] actual(0) < down(0)
+[ 339: FAIL ] actual(0) < left(0)
+[ 340: FAIL ] actual(0) < down(0)
+[ 341: FAIL ] actual(0) < left(0)
+[ 342: FAIL ] actual(0) < down(0)
+[ 343: FAIL ] actual(0) < down(0)
+[ 344: FAIL ] actual(0) < left(0)
+[ 345: FAIL ] actual(0) < down(0)
+[ 346: FAIL ] actual(0) < left(0)
+[ 347: FAIL ] actual(0) < down(0)
+[ 348: FAIL ] actual(0) < left(0)
+[ 349: FAIL ] actual(0) < down(0)
+[ 350: FAIL ] actual(0) < left(0)
+[ 351: FAIL ] actual(0) < down(0)
+[ 352: FAIL ] actual(0) < left(0)
+[ 353: FAIL ] actual(0) < down(0)
+[ 354: FAIL ] actual(0) < left(0)
+[ 355: FAIL ] actual(0) < down(0)
+[ 356: FAIL ] actual(0) < left(0)
+[ 357: FAIL ] actual(0) < down(0)
+[ 358: FAIL ] actual(0) < down(0)
+[ 359: FAIL ] actual(0) < left(0)
+[ 360: FAIL ] actual(0) < down(0)
+[ 361: FAIL ] actual(0) < left(0)
+[ 362: FAIL ] actual(0) < down(0)
+[ 363: FAIL ] actual(0) < left(0)
+[ 364: FAIL ] actual(0) < down(0)
+[ 365: FAIL ] actual(0) < left(0)
+[ 366: FAIL ] actual(0) < down(0)
+[ 367: FAIL ] actual(0) < left(0)
+[ 368: FAIL ] actual(0) < down(0)
+[ 369: FAIL ] actual(0) < left(0)
+[ 370: FAIL ] actual(0) < down(0)
+[ 371: FAIL ] actual(0) < left(0)
+[ 372: FAIL ] actual(0) < down(0)
+[ 373: FAIL ] actual(0) < down(0)
+[ 374: FAIL ] actual(0) < left(0)
+[ 375: FAIL ] actual(0) < down(0)
+[ 376: FAIL ] actual(0) < left(0)
+[ 377: FAIL ] actual(0) < down(0)
+[ 378: FAIL ] actual(0) < left(0)
+[ 379: FAIL ] actual(0) < down(0)
+[ 380: FAIL ] actual(0) < left(0)
+[ 381: FAIL ] actual(0) < down(0)
+[ 382: FAIL ] actual(0) < left(0)
+[ 383: FAIL ] actual(0) < down(0)
+[ 384: FAIL ] actual(0) < left(0)
+[ 385: FAIL ] actual(0) < down(0)
+[ 386: FAIL ] actual(0) < left(0)
+[ 387: FAIL ] actual(0) < down(0)
+[ 388: FAIL ] actual(0) < down(0)
+[ 389: FAIL ] actual(0) < left(0)
+[ 390: FAIL ] actual(0) < down(0)
+[ 391: FAIL ] actual(0) < left(0)
+[ 392: FAIL ] actual(0) < down(0)
+[ 393: FAIL ] actual(0) < left(0)
+[ 394: FAIL ] actual(0) < down(0)
+[ 395: FAIL ] actual(0) < left(0)
+[ 396: FAIL ] actual(0) < down(0)
+[ 397: FAIL ] actual(0) < left(0)
+[ 398: FAIL ] actual(0) < down(0)
+[ 399: FAIL ] actual(0) < left(0)
+[ 400: FAIL ] actual(0) < down(0)
+[ 401: FAIL ] actual(0) < left(0)
+[ 402: FAIL ] actual(0) < down(0)
+[ 403: FAIL ] corners are not different enough
+[ 404: FAIL ] getError expected: NO_ERROR. Was INVALID_FRAMEBUFFER_OPERATION : after evaluating: gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, tex, 0)
+[ 405: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
+[ 406: PASS ] getError was expected value: INVALID_FRAMEBUFFER_OPERATION : after evaluating: gl.clear(gl.DEPTH_BUFFER_BIT)
+[ 407: PASS ] gl.getError() is gl.NO_ERROR
+[ 408: PASS ] successfullyParsed is true
+[ FAIL ] 355 failures reported
+
index 2423900..4d35ee8 100644 (file)
@@ -1,3 +1,23 @@
+2020-04-27  Dean Jackson  <dino@apple.com>
+
+        Temporarily skip GL_DEPTH_COMPONENT32_OES requirement for depth textures on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=211055
+        <rdar://problem/62410499>
+
+        Reviewed by Darin Adler.
+
+        ANGLE requires GL_DEPTH_COMPONENT32_OES be available in order to expose the
+        depth texture extension. However, this format is not supported on iOS.
+        Temporarily remove this restriction while investigating other bugs.
+
+        This also allows us to see the failing results in
+        fast/canvas/webgl/webgl-depth-texture.html
+        webgl/1.0.3/conformance/extensions/webgl-depth-texture.html
+
+        * src/libANGLE/Caps.cpp:
+        (gl::DetermineDepthTextureANGLESupport):
+        (gl::DetermineDepthTextureOESSupport):
+
 2020-04-25  Darin Adler  <darin@apple.com>
 
         [Cocoa] Deal with another round of Xcode upgrade checks
index 477105c..c426fb4 100644 (file)
@@ -604,7 +604,11 @@ static bool DetermineDepthTextureANGLESupport(const TextureCapsMap &textureCaps)
 {
     constexpr GLenum requiredFormats[] = {
         GL_DEPTH_COMPONENT16,
+#if !ANGLE_PLATFORM_IOS
+        // FIXME: Temporarily Removing the need for GL_DEPTH_COMPONENT32_OES
+        // because it is not supported on iOS.
         GL_DEPTH_COMPONENT32_OES,
+#endif
         GL_DEPTH24_STENCIL8_OES,
     };
 
@@ -616,7 +620,11 @@ static bool DetermineDepthTextureOESSupport(const TextureCapsMap &textureCaps)
 {
     constexpr GLenum requiredFormats[] = {
         GL_DEPTH_COMPONENT16,
+#if !ANGLE_PLATFORM_IOS
+        // FIXME: Temporarily Removing the need for GL_DEPTH_COMPONENT32_OES
+        // because it is not supported on iOS.
         GL_DEPTH_COMPONENT32_OES,
+#endif
     };
 
     return GetFormatSupport(textureCaps, requiredFormats, true, true, true, true, false);
index 6f6911a..e82748d 100644 (file)
@@ -814,11 +814,10 @@ void WebGLRenderingContextBase::setupFlags()
     } else {
 #if USE(ANGLE)
         m_isGLES2NPOTStrict = true;
-        m_isDepthStencilSupported = true;
 #else
         m_isGLES2NPOTStrict = !m_context->getExtensions().isEnabled("GL_ARB_texture_non_power_of_two");
-        m_isDepthStencilSupported = m_context->getExtensions().isEnabled("GL_EXT_packed_depth_stencil") || m_context->getExtensions().isEnabled("GL_ANGLE_depth_texture");
 #endif
+        m_isDepthStencilSupported = m_context->getExtensions().isEnabled("GL_EXT_packed_depth_stencil") || m_context->getExtensions().isEnabled("GL_ANGLE_depth_texture");
     }
     m_isRobustnessEXTSupported = m_context->getExtensions().isEnabled("GL_EXT_robustness");
 }