VirtualBox

source: vbox/trunk/src/VBox/Additions/3D/mesa/mesa-24.0.2/docs/devinfo.rst@ 105254

最後變更 在這個檔案從105254是 103996,由 vboxsync 提交於 12 月 前

Additions/3D/mesa: export mesa-24.0.2 to OSE. bugref:10606

  • 屬性 svn:eol-style 設為 native
檔案大小: 1.6 KB
 
1Development Notes
2=================
3
4Adding Extensions
5-----------------
6
7To add a new GL extension to Mesa you have to do at least the following.
8
9- If ``glext.h`` doesn't define the extension, edit ``include/GL/gl.h``
10 and add code like this:
11
12 .. code-block:: c
13
14 #ifndef GL_EXT_the_extension_name
15 #define GL_EXT_the_extension_name 1
16 /* declare the new enum tokens */
17 /* prototype the new functions */
18 /* TYPEDEFS for the new functions */
19 #endif
20
21
22- In the ``src/mapi/glapi/gen/`` directory, add the new extension
23 functions and enums to the ``gl_API.xml`` file. Then, a bunch of
24 source files must be regenerated by executing the corresponding
25 Python scripts.
26- Add a new entry to the ``gl_extensions`` struct in ``consts_exts.h`` if
27 the extension requires driver capabilities not already exposed by
28 another extension.
29- Add a new entry to the ``src/mesa/main/extensions_table.h`` file.
30- From this point, the best way to proceed is to find another
31 extension, similar to the new one, that's already implemented in Mesa
32 and use it as an example.
33- If the new extension adds new GL state, the functions in ``get.c``,
34 ``enable.c`` and ``attrib.c`` will most likely require new code.
35- To determine if the new extension is active in the current context,
36 use the auto-generated ``_mesa_has_##name_str()`` function defined in
37 ``src/mesa/main/extensions.h``.
38- The dispatch tests ``check_table.cpp`` and ``dispatch_sanity.cpp``
39 should be updated with details about the new extensions functions.
40 These tests are run using ``meson test``.
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette