12020-09-21 Kimmo Kinnunen <kkinnunen@apple.com>
2
3 REGRESSION: Textures Fail to Render in WebGL from HLS Stream [iOS 14]
4 https://bugs.webkit.org/show_bug.cgi?id=215908
5 <rdar://problem/68000962>
6
7 Reviewed by NOBODY (OOPS!).
8
9 Disable ANGLE workers until EAGL implementation is more complete.
10 Current implementation fails to compile any shader, since the
11 compilation happens in the worker thread and worker EAGL context
12 which does not use the same sharegroup as the main context.
13 The shader objects are created in the main context but the shader
14 source setting and compilation happens in the worker context.
15 EAGL needs a flush between state changes, and adding that
16 correctly is a bigger change to be done later.
17
18 Use sized formats when calling [EAGLContext -texImageIOSurface]
19 from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface
20 accepts parameters with glTexImage2D logic. On ES3, some of the
21 internal formats must be sized formats. The EAGLContext instantiated
22 by ANGLE is ES3, even if the ANGLE context would be ES2.
23
24 No tests added since this should be caught with the many video
25 related tests. It's unclear why this is not the case -- at
26 least on real hw. This is to be investigated later, too.
27
28 * src/libANGLE/renderer/driver_utils.h:
29 (rx::IsIOS):
30 * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
31 * src/libANGLE/renderer/gl/renderergl_utils.cpp:
32 (rx::nativegl_gl::InitializeFeatures):
33