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.
  2. Clone https://github.com/KhronosGroup/EGL-Registry.git.
  3. Edit EGL-Registry/api/genheaders.py and add the following under glesProtoPrefixStrings:
eglProtoPrefixStrings = [
    '#ifndef EGL_EGL_PROTOTYPES',
    '#define EGL_EGL_PROTOTYPES 1',
    '#endif',
    ''
]
  1. Also in EGL-Registry/api/genheaders.py:

    1. Look for the section titled # EGL API - EGL/egl.h (no function pointers, yet @@@)
    2. Set prefixText to prefixStrings + eglPlatformStrings + eglProtoPrefixStrings + genDateCommentString
    3. Change genFuncPointers = False, to genFuncPointers = True,
    4. Change protectProto = False, to protectProto = 'nonzero',
    5. Change protectProtoStr = 'EGL_EGLEXT_PROTOTYPES', to protectProtoStr = 'EGL_EGL_PROTOTYPES',
  2. Set your working directory to EGL-Registry/api/.

  3. Run python genheaders.py -registry egl.xml EGL/egl.h

  4. The generated header will now be in EGL-Registry/api/EGL/egl.h. You can copy the header over to this folder.

  5. Also update scripts/egl.xml with the latest version from EGL-Registry/api/.