• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Multiplatform ANGLE Refactor Complete
2
3ANGLE's [multiplatform refactoring effort](MANGLE.md) is now complete, paving
4the way for additional rendering backends, allowing ANGLE to enable OpenGL ES
5not just over Direct3D 9 and 11, but also desktop OpenGL.
6
7The refactoring we've done encapsulates D3D-related assumptions and API calls at
8the renderer level, so that no D3D calls are made in the renderer-agnostic
9portions of the codebase, and D3D-specific feature implementations won't be
10included on non-D3D platforms. For example, the creation and maintenance of
11CPU-side copies of texture data, which are required to enable GL-style
12per-mip-level texture creation over D3D's entire-mipchain texture creation API,
13is contained entirely within the D3D renderers, allowing a GL implementation to
14avoid this complication.
15
16Work will now begin within ANGLE to add a desktop OpenGL renderer, and EGL
17implementations compatible with OS X and Linux.
18
19# ES 3.0 Development Status
20
21Our ES 3.0 development branch was merged into mainline ANGLE in April 2014, but
22ES 3.0 support is not yet complete. The majority of API functionality has been
23implemented; features still pending include:
24
25* ETC2/EAC support
26* primitive restart index
27* drawRangeElements
28* full GetProgramBinary support in core
29
30Additional work remains in the compiler, including:
31
32* Array .length()
33* inf/nan detection
34* math utility functions, rounding
35* VertexID/InstanceID support
36* floating point packing functions
37* operators new in ES 3.0
38* name redeclaration
39* relaxed array indexing
40* switch statement support
41* loop & iteration improvements
42
43ES 3.0 features should not be considered stable, even where implemented, and
44some features are present only via naive implementation so far, but we welcome
45bugs filed against this functionality, and thank all our contributors!
46