| # ANGLE EGL Headers |
| |
| The EGL headers ANGLE uses are generated using the Khronos tools but modified to include function pointer types and function prototype guards. |
| |
| ### Regenerating EGL.h |
| |
| 1. Install **Python 3** (not 2) with the **lxml** addon. You can do this using `pip install lxml` from your Python's Scripts folder. |
| 1. Clone [https://github.com/KhronosGroup/EGL-Registry.git](https://github.com/KhronosGroup/EGL-Registry.git). |
| 1. Edit `EGL-Registry/api/genheaders.py` and add the following under `glesProtoPrefixStrings`: |
| ```# EGL headers use a protection mechanism similar to GLES. |
| eglProtoPrefixStrings = [ |
| '#ifndef EGL_EGL_PROTOTYPES', |
| '#define EGL_EGL_PROTOTYPES 1', |
| '#endif', |
| '' |
| ] |
| ``` |
| 4. Also in `EGL-Registry/api/genheaders.py`: |
| 1. Look for the section titled `# EGL API - EGL/egl.h (no function pointers, yet @@@)` |
| 1. Set `prefixText` to `prefixStrings + eglPlatformStrings + eglProtoPrefixStrings + genDateCommentString` |
| 1. Change `genFuncPointers = False,` to `genFuncPointers = True,` |
| 1. Change `protectProto = False,` to `protectProto = 'nonzero',` |
| 1. Change `protectProtoStr = 'EGL_EGLEXT_PROTOTYPES',` to `protectProtoStr = 'EGL_EGL_PROTOTYPES',` |
| |
| 1. Set your working directory to `EGL-Registry/api/`. |
| 1. Run `python genheaders.py -registry egl.xml EGL/egl.h` |
| 1. The generated header will now be in `EGL-Registry/api/EGL/egl.h`. You can copy the header over to this folder. |
| 1. Also update `scripts/egl.xml` with the latest version from `EGL-Registry/api/`. |