Add runtime flag for ANGLE on Metal
<rdar://problem/69061894>
Created attachment 415694 [details] Patch
Comment on attachment 415694 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=415694&action=review > Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:99 > + if (RuntimeEnabledFeatures::sharedFeatures().webGLUsingMetal()) { This is a layering violation. Code in platform/ is not allowed to use RuntimeEnabledFeatures as it is not a platform concept. Instead, the check should be done by the WebCore code that creates this object, and it should pass down this state.
Created attachment 415800 [details] Patch
Comment on attachment 415800 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=415800&action=review > Source/WebCore/platform/graphics/GraphicsContextGLAttributes.h:56 > +#if PLATFORM(COCOA) Might be slightly nicer to wrap these in HAVE(METAL) rather than PLATFORM(COCOA), but I am not sure that exists yet.
Comment on attachment 415800 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=415800&action=review > Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:105 > + display = EGL_GetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, reinterpret_cast<void *>(EGL_DEFAULT_DISPLAY), displayAttributes.data()); Existing, but this should be reinterpret_cast<void*> (no space after void.)
Created attachment 415884 [details] EWS test
Created attachment 415887 [details] EWS test 2
Committed r270636: <https://trac.webkit.org/changeset/270636>