[Webkit-unassigned] [Bug 216106] [iOS WK1] Crashes when using ANGLE WebGL from another thread
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Sep 2 23:02:32 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=216106
--- Comment #5 from Kimmo Kinnunen <kkinnunen at apple.com> ---
Not saying you didn't figure this out, and as far as I understand the problem, which may be wrong:
In general using ANGLE from multiple threads would need to disable the context virtualization.
I think in this this particular case, virtualization should still work:
- Backend is using EAGL (context can be current in many threads)
- Every ANGLE context is locked by the same lock
If web workers can render to canvases without WebThreadLock, then those contexts should have virtualisation disabled.
So wouldn't the solution be just to:
0) EGL_Initialize() once in main thread
1) EGL_MakeCurrent(nullptr) whenever releasing the WebThreadLock
2) Remember to save + retain the client EAGL context and set it back whenever main thread calls into WebKit (e.g. in the touch handler)
E.g. it's of no interest whether EAGLContext can be current on multiple threads -- you still need to (possibly) flush, which the EGL_MakeCurrent(null) would guarantee via however ANGLE guarantees it.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200903/bef710e7/attachment-0001.htm>
More information about the webkit-unassigned
mailing list