Files
third_party_mesa3d/docs/opengles.rst
Erik Faye-Lund 4d066836e3 docs: convert articles to reructuredtext
This uses the previously added scripts to convert the documentation to
reStructuredText, which is both easier to read offline, and can be used
to generate modern HTML for online documentation.

No modification to the generated results have been done.

Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630>
2020-06-13 10:42:00 +00:00

55 lines
1.6 KiB
ReStructuredText

OpenGL ES
=========
Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0. More information about
OpenGL ES can be found at https://www.khronos.org/opengles/.
OpenGL ES depends on a working EGL implementation. Please refer to `Mesa
EGL <egl.html>`__ for more information about EGL.
Build the Libraries
-------------------
#. Run ``meson configure`` with ``-D gles1=true -D gles2=true`` and
enable the Gallium driver for your hardware.
#. Build and install Mesa as usual.
Alternatively, if XCB-DRI2 is installed on the system, one can use
``egl_dri2`` EGL driver with OpenGL|ES-enabled DRI drivers
#. Run ``meson configure`` with ``-D gles1=true -D gles2=true``.
#. Build and install Mesa as usual.
Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or
more EGL drivers for your hardware.
Run the Demos
-------------
There are some demos in ``mesa/demos`` repository.
Developers
----------
Dispatch Table
~~~~~~~~~~~~~~
OpenGL ES has an additional indirection when dispatching functions
::
Mesa: glFoo() --> _mesa_Foo()
OpenGL ES: glFoo() --> _es_Foo() --> _mesa_Foo()
The indirection serves several purposes
- When a function is in Mesa and the type matches, it checks the
arguments and calls the Mesa function.
- When a function is in Mesa but the type mismatches, it checks and
converts the arguments before calling the Mesa function.
- When a function is not available in Mesa, or accepts arguments that
are not available in OpenGL, it provides its own implementation.
Other than the last case, OpenGL ES uses ``APIspec.xml`` to generate
functions to check and/or converts the arguments.