Compile ANGLE backend for iOS device
Created attachment 379471 [details] WIP
Created attachment 382513 [details] Patch
Created attachment 383077 [details] Patch
<rdar://problem/57000166>
Created attachment 383082 [details] Patch
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Comment on attachment 383077 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383077&action=review Cursory look seems okay. This is the beginning of a big project so it's difficult to be thorough... > Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/ContextEAGL.h:44 > +class ContextEAGL : public ContextGL > +{ > + public: > + ContextEAGL(const gl::State &state, > + gl::ErrorSet *errorSet, > + const std::shared_ptr<RendererGL> &renderer); > +}; Is this a stub for something that will come later? There's nothing here in this class. > Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:166 > + return new IOSurfaceSurfaceEAGL(state, mContext, clientBuffer, attribs); This seems so leaky :( :( :( > Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:205 > + config.nativeVisualID = 0; > + config.nativeVisualType = 0; > + config.nativeRenderable = EGL_TRUE; I'd appreciate a link for where these numbers came from > Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:309 > +#pragma clang diagnostic push > +#pragma clang diagnostic ignored "-Wunused-variable" This file is iOS-specific. Can't we just fix the problem instead of ignoring warnings?
Comment on attachment 383077 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383077&action=review >> Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/ContextEAGL.h:44 >> +}; > > Is this a stub for something that will come later? There's nothing here in this class. Yeah. I once had a FIXME in here saying that ContextEAGL and ContextCGL could go away. >> Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:166 >> + return new IOSurfaceSurfaceEAGL(state, mContext, clientBuffer, attribs); > > This seems so leaky :( :( :( It does! We release it from the calling side though. >> Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:205 >> + config.nativeRenderable = EGL_TRUE; > > I'd appreciate a link for where these numbers came from I don't think these matter for this implementation. If they are the default values, I should just remove these lines. The values below are pretty obvious, I hope. >> Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:309 >> +#pragma clang diagnostic ignored "-Wunused-variable" > > This file is iOS-specific. Can't we just fix the problem instead of ignoring warnings? The problem is the iOS Simulator doesn't have texImageIOSurface, and ANGLE doesn't have something like the UNUSED_PARAM macro (as far as I can tell).
Comment on attachment 383077 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383077&action=review >>> Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:309 >>> +#pragma clang diagnostic ignored "-Wunused-variable" >> >> This file is iOS-specific. Can't we just fix the problem instead of ignoring warnings? > > The problem is the iOS Simulator doesn't have texImageIOSurface, and ANGLE doesn't have something like the UNUSED_PARAM macro (as far as I can tell). There's a macro ANGLE_UNUSED_VARIABLE in angle/src/common/debug.h
Committed r252245: <https://trac.webkit.org/changeset/252245>
Committed r252250: <https://trac.webkit.org/changeset/252250>