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