BlueGrey
calm
Elegant
Català-Valencià – Catalan
中文 – Chinese (Simplified)
中文 – Chinese (Traditional)
Česky – Czech
Dansk – Danish
Nederlands – Dutch
English – English
Suomi – Finnish
Français – French
Deutsch – German
עברית – Hebrew
हिंदी – Hindi
Magyar – Hungarian
Bahasa Indonesia – Indonesian
Italiano – Italian
日本語 – Japanese
한국어 – Korean
Македонски – Macedonian
मराठी – Marathi
Norsk – Norwegian
Polski – Polish
Português – Portuguese
Português – Portuguese (Brazil)
Русский – Russian
Slovenčina – Slovak
Slovenščina – Slovenian
Español – Spanish
Svenska – Swedish
Türkçe – Turkish
Українська – Ukrainian
Oëzbekcha – Uzbek
Subversion Repositories
Kolibri OS
(root)
/
contrib
/
sdk
/
sources
/
Mesa
/
docs
/
opengles.html
@ 5373
– Rev
Rev
Blame
|
Last modification
|
View Log
|
RSS feed
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
>
<
html
lang
=
"en"
>
<
head
>
<
meta
http-equiv
=
"content-type"
content
=
"text/html; charset=utf-8"
>
<
title
>OpenGL ES<
/
title
>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"mesa.css"
>
<
/
head
>
<
body
>
<
div
class
=
"header"
>
<
h1
>The Mesa 3D Graphics Library<
/
h1
>
<
/
div
>
<
iframe
src
=
"contents.html"
><
/
iframe
>
<
div
class
=
"content"
>
<
h1
>OpenGL ES<
/
h1
>
<
p
>Mesa implements OpenGL ES
1.1
and OpenGL ES
2.0
. More informations about
OpenGL ES can be found at <
a
href
=
"http://www.khronos.org/opengles/"
>
http:
//
www.khronos.org
/
opengles
/
<
/
a
>.<
/
p
>
<
p
>OpenGL ES depends on a working EGL implementation. Please refer to
<
a
href
=
"egl.html"
>Mesa EGL<
/
a
>
for
more information about EGL.<
/
p
>
<
h2
>Build the Libraries<
/
h2
>
<
ol
>
<
li
>Run <
code
>configure<
/
code
> with <
code
>--enable-gles1 --enable-gles2<
/
code
> and enable the Gallium driver
for
your hardware.<
/
li
>
<
li
>Build and install Mesa as usual.<
/
li
>
<
/
ol
>
Alternatively, if XCB-DRI2 is installed on the system, one can use
<
code
>egl_dri2<
/
code
> EGL driver with OpenGL|ES-enabled DRI drivers
<
ol
>
<
li
>Run <
code
>configure<
/
code
> with <
code
>--enable-gles1 --enable-gles2<
/
code
>.<
/
li
>
<
li
>Build and install Mesa as usual.<
/
li
>
<
/
ol
>
<
p
>Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or more
EGL drivers
for
your hardware.<
/
p
>
<
h2
>Run the Demos<
/
h2
>
<
p
>There are some demos in <
code
>mesa
/
demos<
/
code
> repository.<
/
p
>
<
h2
>Developers<
/
h2
>
<
h3
>Dispatch Table<
/
h3
>
<
p
>OpenGL ES has an additional indirection when dispatching fucntions<
/
p
>
<
pre
>
Mesa: glFoo
(
)
--> _mesa_Foo
(
)
OpenGL ES: glFoo
(
)
--> _es_Foo
(
)
--> _mesa_Foo
(
)
<
/
pre
>
<
p
>The indirection serves several purposes<
/
p
>
<
ul
>
<
li
>When a function is in Mesa and the
type
matches, it checks the arguments and calls the Mesa function.<
/
li
>
<
li
>When a function is in Mesa but the
type
mismatches, it checks and converts the arguments before calling the Mesa function.<
/
li
>
<
li
>When a function is not available in Mesa, or accepts arguments that are not available in OpenGL, it provides its own implementation.<
/
li
>
<
/
ul
>
<
p
>Other than the last case, OpenGL ES uses <
code
>APIspec.xml<
/
code
> to generate functions to check and
/
or converts the arguments.<
/
p
>
<
/
div
>
<
/
body
>
<
/
html
>