Commit 5927706b by Kenneth Russell Committed by Commit Bot

Revise documentation on adding EGL extensions.

Provided more links and steps per earlier advice from geofflang@. Bug: angleproject:4842 No-Try: true Change-Id: I9c9361b4b71a63fd36f79a87d45e0f4b04c4140c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2297528 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent dd4723e3
...@@ -10,28 +10,37 @@ of these steps. ...@@ -10,28 +10,37 @@ of these steps.
For extensions requiring new entry points: For extensions requiring new entry points:
* Add the extension xml to this file: * Add the extension xml to
https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/scripts/egl_angle_ext.xml [scripts/egl_angle_ext.xml](../scripts/egl_angle_ext.xml) .
* Note the prototypes for the new entry points must be added to the * Note the prototypes for the new entry points must be added to the
top of the file, and the functions themselves grouped under the top of the file, and the functions themselves grouped under the
extension name to the bottom of the file. extension name to the bottom of the file.
* Modify `scripts/registry_xml.py` to add the new extension as needed. * Modify [scripts/registry_xml.py](../scripts/registry_xml.py) to add
the new extension as needed.
* run * Run
[scripts/run_code_generation.py](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/scripts/run_code_generation.py) [scripts/run_code_generation.py](../scripts/run_code_generation.py)
.
* The entry point itself goes in the * The entry point itself goes in
[entry_points_egl_ext.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/src/libGLESv2/entry_points_egl_ext.h) [entry_points_egl_ext.h](../src/libGLESv2/entry_points_egl_ext.h)
and cpp files. and
[entry_points_egl_ext.cpp](../src/libGLESv2/entry_points_egl_ext.cpp)
.
* Update * Add the new function to [libEGL.cpp](../src/libEGL/libEGL.cpp) and
[eglext_angle.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/include/EGL/eglext_angle.h) [libEGL.def](../src/libEGL/libEGL.def) .
with the new entry points and/or enums.
* Update [eglext_angle.h](../include/EGL/eglext_angle.h) with the new
entry points and/or enums.
* Add members to the appropriate Extensions struct in * Add members to the appropriate Extensions struct in
[Caps.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/src/libANGLE/Caps.h) [Caps.h](../src/libANGLE/Caps.h) and
[Caps.cpp](../src/libANGLE/Caps.cpp) .
* Initialize extension availability in the `Display` subclass's * Initialize extension availability in the `Display` subclass's
`generateExtensions` method for displays that can support the extension. `generateExtensions` method for displays that can support the
extension; for example,
[DisplayCGL](../src/libANGLE/renderer/gl/cgl/DisplayCGL.mm).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment