Title: [269051] trunk
Revision
269051
Author
[email protected]
Date
2020-10-27 10:35:09 -0700 (Tue, 27 Oct 2020)

Log Message

[ iOS wk2 ] webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=209139

Patch by Kenneth Russell <[email protected]> on 2020-10-27
Reviewed by Dean Jackson.

Source/WebCore:

On ANGLE backend, use wipeAlphaChannelFromPixels on iOS family,
similarly to macOS, when reading back from alpha:false WebGL
contexts. On both backends, apply this only for UNSIGNED_BYTE
readbacks.

Covered by existing WebGL conformance tests.

* platform/graphics/angle/ExtensionsGLANGLE.cpp:
(WebCore::ExtensionsGLANGLE::readnPixelsRobustANGLE):
* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::readPixels):

LayoutTests:

Remove iOS suppression for
webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html.

* platform/ios-wk2/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (269050 => 269051)


--- trunk/LayoutTests/ChangeLog	2020-10-27 17:32:32 UTC (rev 269050)
+++ trunk/LayoutTests/ChangeLog	2020-10-27 17:35:09 UTC (rev 269051)
@@ -1,3 +1,15 @@
+2020-10-27  Kenneth Russell  <[email protected]>
+
+        [ iOS wk2 ] webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html is failing.
+        https://bugs.webkit.org/show_bug.cgi?id=209139
+
+        Reviewed by Dean Jackson.
+
+        Remove iOS suppression for
+        webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html.
+
+        * platform/ios-wk2/TestExpectations:
+
 2020-10-27  Chris Dumez  <[email protected]>
 
         Calling AudioContext.suspend() / resume() while already suspended / running should resolve the promise right away

Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (269050 => 269051)


--- trunk/LayoutTests/platform/ios-wk2/TestExpectations	2020-10-27 17:32:32 UTC (rev 269050)
+++ trunk/LayoutTests/platform/ios-wk2/TestExpectations	2020-10-27 17:35:09 UTC (rev 269051)
@@ -1409,8 +1409,6 @@
 
 webkit.org/b/209205 fast/events/autoscroll-in-iframe.html [ Pass Failure ]
 
-webkit.org/b/209139 webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html [ Pass Failure ]
-
 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/wm-propagation-body-scroll-offset-vertical-lr.html [ Failure ]
 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-003.xht [ ImageOnlyFailure ]
 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-009.xht [ ImageOnlyFailure ]

Modified: trunk/Source/WebCore/ChangeLog (269050 => 269051)


--- trunk/Source/WebCore/ChangeLog	2020-10-27 17:32:32 UTC (rev 269050)
+++ trunk/Source/WebCore/ChangeLog	2020-10-27 17:35:09 UTC (rev 269051)
@@ -1,3 +1,22 @@
+2020-10-27  Kenneth Russell  <[email protected]>
+
+        [ iOS wk2 ] webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html is failing.
+        https://bugs.webkit.org/show_bug.cgi?id=209139
+
+        Reviewed by Dean Jackson.
+
+        On ANGLE backend, use wipeAlphaChannelFromPixels on iOS family,
+        similarly to macOS, when reading back from alpha:false WebGL
+        contexts. On both backends, apply this only for UNSIGNED_BYTE
+        readbacks.
+
+        Covered by existing WebGL conformance tests.
+
+        * platform/graphics/angle/ExtensionsGLANGLE.cpp:
+        (WebCore::ExtensionsGLANGLE::readnPixelsRobustANGLE):
+        * platform/graphics/angle/GraphicsContextGLANGLE.cpp:
+        (WebCore::GraphicsContextGLOpenGL::readPixels):
+
 2020-10-27  Noam Rosenthal  <[email protected]>
 
         compositing/iframes/layout-on-compositing-change.html can assert under ContentfulPaintChecker

Modified: trunk/Source/WebCore/platform/graphics/angle/ExtensionsGLANGLE.cpp (269050 => 269051)


--- trunk/Source/WebCore/platform/graphics/angle/ExtensionsGLANGLE.cpp	2020-10-27 17:32:32 UTC (rev 269050)
+++ trunk/Source/WebCore/platform/graphics/angle/ExtensionsGLANGLE.cpp	2020-10-27 17:35:09 UTC (rev 269051)
@@ -568,7 +568,7 @@
     gl::GetPointervRobustANGLERobustANGLE(pname, bufSize, length, params);
 }
 
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
 static void wipeAlphaChannelFromPixels(int width, int height, unsigned char* pixels)
 {
     // We can assume this doesn't overflow because the calling functions
@@ -606,8 +606,8 @@
         return;
     }
 
-#if PLATFORM(MAC)
-    if (!readingToPixelBufferObject && !attrs.alpha && (format == GraphicsContextGL::RGBA || format == GraphicsContextGL::BGRA) && (state.boundReadFBO == m_context->m_fbo || (attrs.antialias && state.boundReadFBO == m_context->m_multisampleFBO)))
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
+    if (!readingToPixelBufferObject && !attrs.alpha && (format == GraphicsContextGL::RGBA || format == GraphicsContextGL::BGRA) && (type == GraphicsContextGL::UNSIGNED_BYTE) && (state.boundReadFBO == m_context->m_fbo || (attrs.antialias && state.boundReadFBO == m_context->m_multisampleFBO)))
         wipeAlphaChannelFromPixels(width, height, static_cast<unsigned char*>(data));
 #else
     UNUSED_PARAM(readingToPixelBufferObject);

Modified: trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp (269050 => 269051)


--- trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp	2020-10-27 17:32:32 UTC (rev 269050)
+++ trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp	2020-10-27 17:35:09 UTC (rev 269051)
@@ -417,7 +417,7 @@
         gl::BindFramebuffer(framebufferTarget, m_multisampleFBO);
 
 #if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
-    if (!attrs.alpha && (format == GraphicsContextGL::RGBA || format == GraphicsContextGL::BGRA) && (m_state.boundReadFBO == m_fbo || (attrs.antialias && m_state.boundReadFBO == m_multisampleFBO)))
+    if (!attrs.alpha && (format == GraphicsContextGL::RGBA || format == GraphicsContextGL::BGRA) && (type == GraphicsContextGL::UNSIGNED_BYTE) && (m_state.boundReadFBO == m_fbo || (attrs.antialias && m_state.boundReadFBO == m_multisampleFBO)))
         wipeAlphaChannelFromPixels(width, height, static_cast<unsigned char*>(data));
 #endif
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to