Title: [282132] trunk
Revision
282132
Author
commit-qu...@webkit.org
Date
2021-09-08 00:39:41 -0700 (Wed, 08 Sep 2021)

Log Message

webgl/2.0.y/deqp/functional/gles3/rbostatequery.html fails on Metal
https://bugs.webkit.org/show_bug.cgi?id=229950

Patch by Kimmo Kinnunen <kkinnu...@apple.com> on 2021-09-08
Reviewed by Dean Jackson.

Source/WebCore:

Request ANGLE_framebuffer_multisample when creating WebGL2 context.
WebGL2 spec requires multisampled framebuffers.

The test that would fail is:
        gl.renderbufferStorageMultisample(gl.RENDERBUFFER, samples, gl.RGBA8, 128, 128);
        var value = /** @type {number} */ (gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES));
        this.check(value >= samples, 'Expected greater or equal to ' + samples + ' got ' + value);
for `samples == 1` the test would have `value == 0` with INVALID_OPERATION from ANGLE due to
the extension not being enabled.

Fixes tests:
webgl/2.0.0/deqp/functional/gles3/rbostatequery.html
webgl/2.0.y/deqp/functional/gles3/rbostatequery.html

* platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

LayoutTests:

Enable webgl/2.0.y/deqp/functional/gles3/rbostatequery.html
explicitly until 2.0.y is activated.

* webgl/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (282131 => 282132)


--- trunk/LayoutTests/ChangeLog	2021-09-08 06:43:01 UTC (rev 282131)
+++ trunk/LayoutTests/ChangeLog	2021-09-08 07:39:41 UTC (rev 282132)
@@ -1,3 +1,15 @@
+2021-09-08  Kimmo Kinnunen  <kkinnu...@apple.com>
+
+        webgl/2.0.y/deqp/functional/gles3/rbostatequery.html fails on Metal
+        https://bugs.webkit.org/show_bug.cgi?id=229950
+
+        Reviewed by Dean Jackson.
+
+        Enable webgl/2.0.y/deqp/functional/gles3/rbostatequery.html
+        explicitly until 2.0.y is activated.
+
+        * webgl/TestExpectations:
+
 2021-09-07  Kimmo Kinnunen  <kkinnu...@apple.com>
 
         webgl/2.0.y/deqp/functional/gles3/negativestateapi.html get_query_parameter  fails on Metal

Modified: trunk/LayoutTests/webgl/2.0.0/deqp/functional/gles3/rbostatequery-expected.txt (282131 => 282132)


--- trunk/LayoutTests/webgl/2.0.0/deqp/functional/gles3/rbostatequery-expected.txt	2021-09-08 06:43:01 UTC (rev 282131)
+++ trunk/LayoutTests/webgl/2.0.0/deqp/functional/gles3/rbostatequery-expected.txt	2021-09-08 07:39:41 UTC (rev 282132)
@@ -1,11 +1,4 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/deqp/functional/gles3/rbostatequery.html
-
-[ 1: PASS ] rbo.renderbuffer_size: Passed
-[ 2: PASS ] rbo.renderbuffer_internal_format: Passed
-[ 3: PASS ] rbo.renderbuffer_component_size_color: Passed
-[ 4: PASS ] rbo.renderbuffer_component_size_depth: Passed
-[ 5: FAIL ] rbo.renderbuffer_samples: Expected greater or equal to 1 got 0
-[ 6: PASS ] successfullyParsed is true
-[ FAIL ] 1 failures reported
+[ PASS ] All tests passed

Modified: trunk/LayoutTests/webgl/TestExpectations (282131 => 282132)


--- trunk/LayoutTests/webgl/TestExpectations	2021-09-08 06:43:01 UTC (rev 282131)
+++ trunk/LayoutTests/webgl/TestExpectations	2021-09-08 07:39:41 UTC (rev 282132)
@@ -28,3 +28,4 @@
 
 # Explicitly enable tests which we have fixed. These expectations will be removed when 1.0.x/2.0.y is enabled.
 webgl/2.0.y/deqp/functional/gles3/negativestateapi.html [ Pass ]
+webgl/2.0.y/deqp/functional/gles3/rbostatequery.html [ Pass ]

Modified: trunk/Source/WebCore/ChangeLog (282131 => 282132)


--- trunk/Source/WebCore/ChangeLog	2021-09-08 06:43:01 UTC (rev 282131)
+++ trunk/Source/WebCore/ChangeLog	2021-09-08 07:39:41 UTC (rev 282132)
@@ -1,3 +1,27 @@
+2021-09-08  Kimmo Kinnunen  <kkinnu...@apple.com>
+
+        webgl/2.0.y/deqp/functional/gles3/rbostatequery.html fails on Metal
+        https://bugs.webkit.org/show_bug.cgi?id=229950
+
+        Reviewed by Dean Jackson.
+
+        Request ANGLE_framebuffer_multisample when creating WebGL2 context.
+        WebGL2 spec requires multisampled framebuffers.
+
+        The test that would fail is:
+                gl.renderbufferStorageMultisample(gl.RENDERBUFFER, samples, gl.RGBA8, 128, 128);
+                var value = /** @type {number} */ (gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES));
+                this.check(value >= samples, 'Expected greater or equal to ' + samples + ' got ' + value);
+        for `samples == 1` the test would have `value == 0` with INVALID_OPERATION from ANGLE due to
+        the extension not being enabled.
+
+        Fixes tests:
+        webgl/2.0.0/deqp/functional/gles3/rbostatequery.html
+        webgl/2.0.y/deqp/functional/gles3/rbostatequery.html
+
+        * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
+        (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
+
 2021-09-07  Kimmo Kinnunen  <kkinnu...@apple.com>
 
         webgl/2.0.y/deqp/functional/gles3/negativestateapi.html get_query_parameter  fails on Metal

Modified: trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm (282131 => 282132)


--- trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm	2021-09-08 06:43:01 UTC (rev 282131)
+++ trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm	2021-09-08 07:39:41 UTC (rev 282132)
@@ -341,6 +341,8 @@
     if (contextAttributes().xrCompatible)
         requiredExtensions.append("GL_OES_EGL_image"_s);
 #endif
+    if (m_isForWebGL2)
+        requiredExtensions.append("GL_ANGLE_framebuffer_multisample"_s);
     ExtensionsGL& extensions = getExtensions();
     for (auto& extension : requiredExtensions) {
         if (!extensions.supports(extension)) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to