Title: [276869] trunk
- Revision
- 276869
- Author
- [email protected]
- Date
- 2021-04-30 18:22:48 -0700 (Fri, 30 Apr 2021)
Log Message
[Metal ANGLE]: fix webgl/2.0.0/deqp/functional/gles3/negativebufferapi
Source/ThirdParty/ANGLE:
https://bugs.webkit.org/show_bug.cgi?id=225222
<rdar://77349908>
Arbitrary alignments are not allowed in Metal. Update UBO alignment to
a platform-dependant offset to match specifications.
Reviewed by Dean Jackson.
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::ensureCapsInitialized const):
LayoutTests:
<rdar://77349908>
Uniform buffers are implemented as 'constant' buffers in Metal.
update alignment requirements, as we can't do arbitrary alignments. This
also fixes negativebufferAPI, as the invalid alignment test was failing.
https://bugs.webkit.org/show_bug.cgi?id=225222
Reviewed by Dean Jackson.
* webgl/2.0.0/deqp/functional/gles3/negativebufferapi-expected.txt:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (276868 => 276869)
--- trunk/LayoutTests/ChangeLog 2021-05-01 01:20:56 UTC (rev 276868)
+++ trunk/LayoutTests/ChangeLog 2021-05-01 01:22:48 UTC (rev 276869)
@@ -1,3 +1,18 @@
+2021-04-30 Kyle Piddington <[email protected]>
+
+ [Metal ANGLE]: fix webgl/2.0.0/deqp/functional/gles3/negativebufferapi
+ <rdar://77349908>
+
+ Uniform buffers are implemented as 'constant' buffers in Metal.
+ update alignment requirements, as we can't do arbitrary alignments. This
+ also fixes negativebufferAPI, as the invalid alignment test was failing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=225222
+
+ Reviewed by Dean Jackson.
+
+ * webgl/2.0.0/deqp/functional/gles3/negativebufferapi-expected.txt:
+
2021-04-30 Wenson Hsieh <[email protected]>
[iOS] Add a heuristic to determine whether a synthetic click triggered any meaningful changes
Modified: trunk/LayoutTests/webgl/2.0.0/deqp/functional/gles3/negativebufferapi-expected.txt (276868 => 276869)
--- trunk/LayoutTests/webgl/2.0.0/deqp/functional/gles3/negativebufferapi-expected.txt 2021-05-01 01:20:56 UTC (rev 276868)
+++ trunk/LayoutTests/webgl/2.0.0/deqp/functional/gles3/negativebufferapi-expected.txt 2021-05-01 01:22:48 UTC (rev 276869)
@@ -1,34 +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/negativebufferapi.html
-
-[ 1: PASS ] negativeBufferApi.bind_buffer: Passed
-[ 2: PASS ] negativeBufferApi.buffer_data: Passed
-[ 3: PASS ] negativeBufferApi.buffer_sub_data: Passed
-[ 4: PASS ] negativeBufferApi.buffer_sub_data_size_offset: Passed
-[ 5: PASS ] negativeBufferApi.clear: Passed
-[ 6: PASS ] negativeBufferApi.read_pixels: Passed
-[ 7: PASS ] negativeBufferApi.read_pixels_format_mismatch: Passed
-[ 8: PASS ] negativeBufferApi.read_pixels_fbo_format_mismatch: Passed
-[ 9: FAIL ] negativeBufferApi.bind_buffer_range: Expected gl.INVALID_VALUE, but got gl.NO_ERROR.
-[ 10: PASS ] negativeBufferApi.bind_buffer_base: Passed
-[ 11: PASS ] negativeBufferApi.clear_bufferiv: Passed
-[ 12: PASS ] negativeBufferApi.clear_bufferuiv: Passed
-[ 13: PASS ] negativeBufferApi.clear_bufferfv: Passed
-[ 14: PASS ] negativeBufferApi.clear_bufferfi: Passed
-[ 15: PASS ] negativeBufferApi.copy_buffer_sub_data: Passed
-[ 16: PASS ] negativeBufferApi.draw_buffers: Passed
-[ 17: PASS ] negativeBufferApi.bind_framebuffer: Passed
-[ 18: PASS ] negativeBufferApi.bind_renderbuffer: Passed
-[ 19: PASS ] negativeBufferApi.check_framebuffer_status: Passed
-[ 20: PASS ] negativeBufferApi.framebuffer_renderbuffer: Passed
-[ 21: PASS ] negativeBufferApi.framebuffer_texture2d: Passed
-[ 22: PASS ] negativeBufferApi.renderbuffer_storage: Passed
-[ 23: PASS ] negativeBufferApi.blit_framebuffer: Passed
-[ 24: PASS ] negativeBufferApi.blit_framebuffer_multisample: Passed
-[ 25: PASS ] negativeBufferApi.framebuffer_texture_layer: Passed
-[ 26: PASS ] negativeBufferApi.invalidate_framebuffer: Passed
-[ 27: PASS ] negativeBufferApi.invalidate_sub_framebuffer: Passed
-[ 28: PASS ] negativeBufferApi.renderbuffer_storage_multisample: Passed
-[ 29: PASS ] negativeBufferApi.renderbuffer_storage_multisample: successfullyParsed is true
-[ FAIL ] 1 failures reported
+[ PASS ] All tests passed
Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (276868 => 276869)
--- trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-05-01 01:20:56 UTC (rev 276868)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-05-01 01:22:48 UTC (rev 276869)
@@ -1,3 +1,16 @@
+2021-04-30 Kyle Piddington <[email protected]>
+
+ [Metal ANGLE]: fix webgl/2.0.0/deqp/functional/gles3/negativebufferapi
+ https://bugs.webkit.org/show_bug.cgi?id=225222
+ <rdar://77349908>
+
+ Arbitrary alignments are not allowed in Metal. Update UBO alignment to
+ a platform-dependant offset to match specifications.
+ Reviewed by Dean Jackson.
+
+ * src/libANGLE/renderer/metal/DisplayMtl.mm:
+ (rx::DisplayMtl::ensureCapsInitialized const):
+
2021-04-29 Kyle Piddington <[email protected]>
Metal-ANGLE: Shared memory texture tests failing in iOS Simulator
Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm (276868 => 276869)
--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm 2021-05-01 01:20:56 UTC (rev 276868)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm 2021-05-01 01:22:48 UTC (rev 276869)
@@ -712,7 +712,13 @@
// Fill in additional limits for UBOs and SSBOs.
mNativeCaps.maxUniformBufferBindings = mNativeCaps.maxCombinedUniformBlocks;
mNativeCaps.maxUniformBlockSize = mtl::kMaxUBOSize; // Default according to GLES 3.0 spec.
- mNativeCaps.uniformBufferOffsetAlignment = 1;
+ if([mMetalDevice supportsFamily:MTLGPUFamilyApple1])
+ {
+ mNativeCaps.uniformBufferOffsetAlignment = 16; // on Apple based GPU's We can ignore data types when setting constant buffer alignment at 16.
+ }
+ else{
+ mNativeCaps.uniformBufferOffsetAlignment = 256; // constant buffers on all other GPUs must be aligned to 256.
+ }
mNativeCaps.maxShaderStorageBufferBindings = 0;
mNativeCaps.maxShaderStorageBlockSize = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes