| Differences between
and this patch
- a/Source/ThirdParty/ANGLE/ChangeLog +14 lines
Lines 1-3 a/Source/ThirdParty/ANGLE/ChangeLog_sec1
1
2021-06-16  Kimmo Kinnunen  <kkinnunen@apple.com>
2
3
        ANGLE Metal gl sync objects do not work in case of listener being needed
4
        https://bugs.webkit.org/show_bug.cgi?id=227024
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Add an assert to notice when MTLSharedEventListener instantiation
9
        fails. Without this, the fence implementation would not signal
10
        the completion until the timeout would pass.
11
12
        * src/libANGLE/renderer/metal/DisplayMtl.mm:
13
        (rx::DisplayMtl::getOrCreateSharedEventListener):
14
1
2021-06-15  Kimmo Kinnunen  <kkinnunen@apple.com>
15
2021-06-15  Kimmo Kinnunen  <kkinnunen@apple.com>
2
16
3
        Serious WebGL/Metal performance regression in Safari Technology Preview
17
        Serious WebGL/Metal performance regression in Safari Technology Preview
- a/Source/WebKit/ChangeLog +21 lines
Lines 1-3 a/Source/WebKit/ChangeLog_sec1
1
2021-06-16  Kimmo Kinnunen  <kkinnunen@apple.com>
2
3
        ANGLE Metal gl sync objects do not work in case of listener being needed
4
        https://bugs.webkit.org/show_bug.cgi?id=227024
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Make MTLSharedEventListener instantiatable by adding IOKit messages
9
        39 and 40 to IOSurfaceRootUserClientMessageFilter.
10
11
        The MTLSharedEventListener init would fail, and ANGLE would fail to
12
        make the shared event signal the event listener. This would cause
13
        all glClientWaitSync calls to wait the full timeout time.
14
15
        No new tests, WebGL2 sync object implementation does not support
16
        non-zero timeout values that would be needed to detect the failure.
17
        Standalone test-cases would need the test runner being sandboxed,
18
        which is not implemented currently.
19
20
        * WebProcess/com.apple.WebProcess.sb.in:
21
1
2021-06-14  Kimmo Kinnunen  <kkinnunen@apple.com>
22
2021-06-14  Kimmo Kinnunen  <kkinnunen@apple.com>
2
23
3
        DisplayList::ImageBuffer calls virtual function erroneously in destructor
24
        DisplayList::ImageBuffer calls virtual function erroneously in destructor
- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm +1 lines
Lines 1064-1069 mtl::AutoObjCObj<MTLSharedEventListener> DisplayMtl::getOrCreateSharedEventListe a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm_sec1
1064
        ANGLE_MTL_OBJC_SCOPE
1064
        ANGLE_MTL_OBJC_SCOPE
1065
        {
1065
        {
1066
            mSharedEventListener = [[[MTLSharedEventListener alloc] init] ANGLE_MTL_AUTORELEASE];
1066
            mSharedEventListener = [[[MTLSharedEventListener alloc] init] ANGLE_MTL_AUTORELEASE];
1067
            ASSERT(mSharedEventListener); // Failure here most probably means a sandbox issue.
1067
        }
1068
        }
1068
    }
1069
    }
1069
    return mSharedEventListener;
1070
    return mSharedEventListener;
- a/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in +2 lines
Lines 186-191 a/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in_sec1
186
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
186
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
187
            (iokit-method-number
187
            (iokit-method-number
188
                17
188
                17
189
                40
189
            )
190
            )
190
#endif
191
#endif
191
        )
192
        )
Lines 212-217 a/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in_sec2
212
                35
213
                35
213
                36
214
                36
214
                38
215
                38
216
                39
215
                44
217
                44
216
            )
218
            )
217
#endif
219
#endif

Return to Bug 227024