WebGL Backends
| WebGL Backend | Platforms | Compositing Accelerators | Notes |
|---|---|---|---|
| Native GL3+ | [1] WGL (windows), CGL (mac), GLX (linux) | GLTexture sharing | Investigating GL/DX-Texture interop |
| Native GLES2+ | EGL (android) | OMTC? | |
| ANGLE GLES2 | EGL (windows) | EGLSurface sharing | ANGLE is actually DX+D3D9 |
Available Layer Managers
| Layer Manager | Platforms | Compatible Compositing Accelerations | Notes |
|---|---|---|---|
| D3D10 | Windows Vista/7 | EGLSurface interop | Investigating GL/DX-Texture interop |
| D3D9 | Windows XP/Vista/7 | ReadPixels | Investigating GL/DX-Texture interop |
| OGL | Mac, Linux | GLTexture sharing | |
| Basic | All | ReadPixels |
Expected Platform/Layers/WebGL Combinations
| Platform | Backend 1 (Compositing Accel) | Backend 2 (Compositing Accel) | Notes |
|---|---|---|---|
| Windows Vista/7 | D3D10, ANGLE EGL+GLES2 (EGLSurface sharing) | [1] D3D10, WGL, Native GL (None) | |
| Windows XP | D3D9, ANGLE EGL+GLES2 (None) | [1] D3D9, WGL, Native GL (None) | |
| Mac | OGL, CGL, Native GL (GLTexture sharing) | Basic, CGL, Native GL (None) | |
| Linux | [2] OGL, GLX, Native GL (GLTexture sharing) | Basic, GLX, Native GL (None) | |
| Android | Basic, EGL, Native GLES (None) |
[1] WGL+GL backend is not used as fallbacks if ANGLE fails to initialize. That is, if we try to load ANGLE and fail, we will no longer fall back to WGL+GL. (For the time being)
[2] OGL Layers is blocked on (almost?) all linux platforms.