summaryrefslogtreecommitdiff
path: root/chromium/third_party/angle/doc/AddingExtensions.md
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/third_party/angle/doc/AddingExtensions.md
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/angle/doc/AddingExtensions.md')
-rw-r--r--chromium/third_party/angle/doc/AddingExtensions.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/chromium/third_party/angle/doc/AddingExtensions.md b/chromium/third_party/angle/doc/AddingExtensions.md
new file mode 100644
index 00000000000..dc7550b9048
--- /dev/null
+++ b/chromium/third_party/angle/doc/AddingExtensions.md
@@ -0,0 +1,37 @@
+# Introduction
+
+This page describes how to add new extensions to ANGLE.
+
+# Adding EGL extensions
+
+Note: see also [anglebug.com/2621](http://anglebug.com/2621), linked
+from the [starter project](Starter-Projects.md) doc, to simplify some
+of these steps.
+
+For extensions requiring new entry points:
+
+* Add the extension xml to this file:
+ https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/scripts/egl_angle_ext.xml
+
+* Note the prototypes for the new entry points must be added to the
+ top of the file, and the functions themselves grouped under the
+ extension name to the bottom of the file.
+
+* Modify `scripts/registry_xml.py` to add the new extension as needed.
+
+* run
+ [scripts/run_code_generation.py](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/scripts/run_code_generation.py)
+
+* The entry point itself goes in the
+ [entry_points_egl_ext.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/src/libGLESv2/entry_points_egl_ext.h)
+ and cpp files.
+
+* Update
+ [eglext_angle.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/include/EGL/eglext_angle.h)
+ with the new entry points and/or enums.
+
+* 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)
+
+* Initialize extension availability in the `Display` subclass's
+ `generateExtensions` method for displays that can support the extension.