diff --git a/Doxyfile b/Doxyfile
index e11bd5171..4ca3d9dc2 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -203,7 +203,6 @@ ALIASES = \
"fn_gl{1}=gl\1()" \
"fn_gl_extension{3}=gl\1\2()" \
"def_gl{1}=`GL_\1`" \
- "requires_gl=@xrefitem requires-gl \"Requires desktop OpenGL\" \"Functionality requiring desktop OpenGL (not available on OpenGL ES)\" Not available on OpenGL ES." \
"requires_gl30=@xrefitem requires-gl30 \"Requires OpenGL 3.0\" \"Functionality requiring OpenGL 3.0\"" \
"requires_gl31=@xrefitem requires-gl31 \"Requires OpenGL 3.1\" \"Functionality requiring OpenGL 3.1\"" \
"requires_gl32=@xrefitem requires-gl32 \"Requires OpenGL 3.2\" \"Functionality requiring OpenGL 3.2\"" \
@@ -215,8 +214,10 @@ ALIASES = \
"requires_extension=@xrefitem requires-extension \"Requires OpenGL extension\" \"Functionality requiring specific OpenGL extension\"" \
"extension{2}=\1_\2" \
"requires_gles30=@xrefitem requires-gles30 \"Requires OpenGL ES 3.0\" \"Functionality requiring OpenGL ES 3.0\"" \
+ "requires_gl=@xrefitem requires-gl \"Requires desktop OpenGL\" \"Functionality requiring desktop OpenGL (not available in OpenGL ES)\"" \
"requires_es_extension=@xrefitem requires-es-extension \"Requires OpenGL ES extension\" \"Functionality requiring specific OpenGL ES extension\"" \
- "es_extension{2}=\1_\2"
+ "es_extension{2}=\1_\2" \
+ "es_extension2{3}=\1_\2"
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding
diff --git a/doc/coding-style.dox b/doc/coding-style.dox
index 802f2e6e2..74ea08d2b 100644
--- a/doc/coding-style.dox
+++ b/doc/coding-style.dox
@@ -57,7 +57,14 @@ with @c \@extension command:
@extension{ARB,timer_query}
@endcode
It produces link to the specification of the extension in OpenGL registry,
-e.g. @extension{ARB,timer_query}.
+e.g. @extension{ARB,timer_query}. Similarly for OpenGL ES extensions there is
+@c \@es_extension command. Some extensions have slightly different URL,
+with command @c \@es_extension2 you can specify extension filename, if the
+previous command gives 404 error. The following produces link to
+@es_extension2{NV,read_buffer_front,GL_NV_read_buffer} extension:
+@code
+@es_extension2{NV,read_buffer_front,GL_NV_read_buffer}
+@endcode
@subsubsection documentation-commands-ref_gl Links to related OpenGL functions and definitions
@@ -102,6 +109,14 @@ function, only the function should be marked. If the extension is needed only
for some functionality (not related to any member function), it should be
noted in the description.
+Similarly for OpenGL ES there is command @c \@requires_gl for functionality
+not available in OpenGL ES at all, @c \@requires_gles30 for functionality
+requiring OpenGL ES 3.0 (i.e. not part of OpenGL 2.0) and
+@c \@requires_es_extension for specific extensions not part of OpenGL ES
+specification. When there is both required desktop OpenGL version/extension
+and OpenGL ES version/extension, first come desktop requirements, then ES
+requirements.
+
All classes and functions using those commands are cross-referenced in page
@ref required-extensions.
diff --git a/doc/required-extensions.dox b/doc/required-extensions.dox
index 5598d000c..58a47ebfc 100644
--- a/doc/required-extensions.dox
+++ b/doc/required-extensions.dox
@@ -12,7 +12,6 @@ functionality, so if given hardware supports required extension, it doesn't
need to have required OpenGL version too (e.g. `APPLE_vertex_array_object` is
supported on Intel GPUs even if they are capable of OpenGL 2.1 only).
-- @subpage requires-gl
- @subpage requires-gl30
- @subpage requires-gl31
- @subpage requires-gl32
@@ -22,6 +21,7 @@ supported on Intel GPUs even if they are capable of OpenGL 2.1 only).
- @subpage requires-gl42
- @subpage requires-gl43
- @subpage requires-extension
+- @subpage requires-gl
- @subpage requires-gles30
- @subpage requires-es-extension
- @subpage unsupported