[ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 May 2020 21:30:30 +0000 (21:30 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 May 2020 21:30:30 +0000 (21:30 +0000)
https://bugs.webkit.org/show_bug.cgi?id=212271

Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-22
Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

Use ES 3.0 sized internal formats for unsized depth/stencil
textures when the OES_depth_texture extension is unavailable - as
is the case in iOS's ES 3.0 driver.

* src/libANGLE/renderer/gl/formatutilsgl.cpp:
(rx::nativegl::GetNativeInternalFormat):

LayoutTests:

Remove expected failure of webgl-depth-texture on iOS.

* platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt: Removed.

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

LayoutTests/ChangeLog
LayoutTests/platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt [deleted file]
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/formatutilsgl.cpp

index a5b9e52..3bbd732 100644 (file)
@@ -1,3 +1,14 @@
+2020-05-22  Kenneth Russell  <kbr@chromium.org>
+
+        [ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=212271
+
+        Reviewed by Dean Jackson.
+
+        Remove expected failure of webgl-depth-texture on iOS.
+
+        * platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt: Removed.
+
 2020-05-22  Andy Estes  <aestes@apple.com>
 
         [Apple Pay] Add new ApplePayInstallmentConfiguration members
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
deleted file mode 100644 (file)
index fdbdaa0..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-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
-
index b5b5b09..f7d9803 100644 (file)
@@ -1,3 +1,17 @@
+2020-05-22  Kenneth Russell  <kbr@chromium.org>
+
+        [ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=212271
+
+        Reviewed by Dean Jackson.
+
+        Use ES 3.0 sized internal formats for unsized depth/stencil
+        textures when the OES_depth_texture extension is unavailable - as
+        is the case in iOS's ES 3.0 driver.
+
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::GetNativeInternalFormat):
+
 2020-05-21  Dean Jackson  <dino@apple.com>
 
         PVRTC compressed textures are failing with ANGLE backend
index 8ee04b9..50b1073 100644 (file)
@@ -547,6 +547,53 @@ static GLenum GetNativeInternalFormat(const FunctionsGL *functions,
             // it's in unsized SRGB texture formats.
             result = internalFormat.sizedInternalFormat;
         }
+        else if ((internalFormat.internalFormat == GL_DEPTH_COMPONENT ||
+                  internalFormat.internalFormat == GL_DEPTH_STENCIL) &&
+                 !functions->hasGLESExtension("GL_OES_depth_texture"))
+        {
+            // Use ES 3.0 sized internal formats for depth/stencil textures when the driver doesn't
+            // advertise GL_OES_depth_texture, since it's likely the driver will reject unsized
+            // internal formats.
+            switch (internalFormat.internalFormat)
+            {
+                case GL_DEPTH_COMPONENT:
+                    if (internalFormat.type == GL_UNSIGNED_SHORT)
+                    {
+                        // Could consider promoting this to a higher bit depth
+                        result = GL_DEPTH_COMPONENT16;
+                    }
+                    else if (internalFormat.type == GL_UNSIGNED_INT)
+                    {
+                        if (functions->hasGLESExtension("GL_OES_depth32"))
+                        {
+                            result = GL_DEPTH_COMPONENT32_OES;
+                        }
+                        else
+                        {
+                            // Best-effort attempt to provide as many bits as possible.
+                            result = GL_DEPTH_COMPONENT24;
+                        }
+                    }
+                    else if (internalFormat.type == GL_FLOAT)
+                    {
+                        result = GL_DEPTH_COMPONENT32F;
+                    }
+                    break;
+                case GL_DEPTH_STENCIL:
+                    if (internalFormat.type == GL_UNSIGNED_INT_24_8)
+                    {
+                        result = GL_DEPTH24_STENCIL8;
+                    }
+                    else if (internalFormat.type == GL_FLOAT_32_UNSIGNED_INT_24_8_REV)
+                    {
+                        result = GL_DEPTH32F_STENCIL8;
+                    }
+                    break;
+                default:
+                    UNREACHABLE();
+                    break;
+            }
+        }
     }
 
     return result;