diff --git a/src/AbstractShaderProgram.h b/src/AbstractShaderProgram.h
index 4f506270a..1f6f60d60 100644
--- a/src/AbstractShaderProgram.h
+++ b/src/AbstractShaderProgram.h
@@ -168,7 +168,7 @@ GLint transformationUniform = uniformLocation("transformation");
GLint projectionUniform = uniformLocation("projection");
@endcode
-@requires_gl43 Extension @extension{ARB,explicit_uniform_location} for
+@requires_gl43 %Extension @extension{ARB,explicit_uniform_location} for
explicit uniform location instead of using uniformLocation().
@requires_gl Explicit uniform location is not supported in OpenGL ES. Use
uniformLocation() instead.
@@ -191,7 +191,7 @@ setUniform(DiffuseTextureUniform, DiffuseTextureLayer);
setUniform(SpecularTextureUniform, SpecularTextureLayer);
@endcode
-@requires_gl42 Extension @extension{ARB,shading_language_420pack} for explicit
+@requires_gl42 %Extension @extension{ARB,shading_language_420pack} for explicit
texture layer binding instead of using setUniform(GLint, GLint).
@requires_gl Explicit texture layer binding is not supported in OpenGL ES. Use
setUniform(GLint, GLint) instead.
@@ -485,7 +485,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @note This function should be called after attachShader() calls and
* before link().
* @see @fn_gl{ProgramParameter} with @def_gl{PROGRAM_BINARY_RETRIEVABLE_HINT}
- * @requires_gl41 Extension @extension{ARB,get_program_binary}
+ * @requires_gl41 %Extension @extension{ARB,get_program_binary}
* @requires_gles30 Always allowed in OpenGL ES 2.0.
*/
inline void setRetrievableBinary(bool enabled) {
@@ -500,7 +500,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @note This function should be called after attachShader() calls and
* before link().
* @see @fn_gl{ProgramParameter} with @def_gl{PROGRAM_SEPARABLE}
- * @requires_gl41 Extension @extension{ARB,separate_shader_objects}
+ * @requires_gl41 %Extension @extension{ARB,separate_shader_objects}
* @requires_es_extension %Extension @es_extension{EXT,separate_shader_objects}
*/
inline void setSeparable(bool enabled) {
@@ -562,7 +562,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* @ref AbstractShaderProgram-attribute-location "class documentation"
* for more information.
* @see @fn_gl{BindFragDataLocationIndexed}
- * @requires_gl33 Extension @extension{ARB,blend_func_extended}
+ * @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blend function inputs are not available in
* OpenGL ES.
*/
@@ -576,7 +576,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
* The same as bindFragmentDataLocationIndexed(), but with `index` set
* to `0`.
* @see @fn_gl{BindFragDataLocation}
- * @requires_gl30 Extension @extension{EXT,gpu_shader4}
+ * @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gl Use explicit location specification in OpenGL ES 3.0
* instead.
*/
@@ -659,7 +659,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES2
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl30 Extension @extension{EXT,gpu_shader4}
+ * @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, GLuint value) {
@@ -668,7 +668,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl30 Extension @extension{EXT,gpu_shader4}
+ * @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, const Math::Vector<2, GLuint>& value) {
@@ -677,7 +677,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl30 Extension @extension{EXT,gpu_shader4}
+ * @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, const Math::Vector<3, GLuint>& value) {
@@ -686,7 +686,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl30 Extension @extension{EXT,gpu_shader4}
+ * @requires_gl30 %Extension @extension{EXT,gpu_shader4}
* @requires_gles30 Only signed integers are available in OpenGL ES 2.0.
*/
inline void setUniform(GLint location, const Math::Vector<4, GLuint>& value) {
@@ -697,7 +697,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, GLdouble value) {
@@ -706,7 +706,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Vector<2, GLdouble>& value) {
@@ -715,7 +715,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Vector<3, GLdouble>& value) {
@@ -724,7 +724,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Vector<4, GLdouble>& value) {
@@ -800,7 +800,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Matrix<2, GLdouble>& value) {
@@ -809,7 +809,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Matrix<3, GLdouble>& value) {
@@ -818,7 +818,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::Matrix<4, GLdouble>& value) {
@@ -827,7 +827,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<2, 3, GLdouble>& value) {
@@ -836,7 +836,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<3, 2, GLdouble>& value) {
@@ -845,7 +845,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<2, 4, GLdouble>& value) {
@@ -854,7 +854,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<4, 2, GLdouble>& value) {
@@ -863,7 +863,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<3, 4, GLdouble>& value) {
@@ -872,7 +872,7 @@ class MAGNUM_EXPORT AbstractShaderProgram {
/**
* @copydoc setUniform(GLint, GLfloat)
- * @requires_gl40 Extension @extension{ARB,gpu_shader_fp64}
+ * @requires_gl40 %Extension @extension{ARB,gpu_shader_fp64}
* @requires_gl Only floats are available in OpenGL ES.
*/
inline void setUniform(GLint location, const Math::RectangularMatrix<4, 3, GLdouble>& value) {
diff --git a/src/Buffer.h b/src/Buffer.h
index 790a8db70..2e22375e9 100644
--- a/src/Buffer.h
+++ b/src/Buffer.h
@@ -97,7 +97,7 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES
/**
* Used for storing atomic counters.
- * @requires_gl42 Extension @extension{ARB,shader_atomic_counters}
+ * @requires_gl42 %Extension @extension{ARB,shader_atomic_counters}
* @requires_gl Atomic counters are not available in OpenGL ES.
*/
AtomicCounter = GL_ATOMIC_COUNTER_BUFFER,
@@ -106,7 +106,7 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES2
/**
* Source for copies. See copy().
- * @requires_gl31 Extension @extension{ARB,copy_buffer}
+ * @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES
* 2.0.
*/
@@ -114,7 +114,7 @@ class MAGNUM_EXPORT Buffer {
/**
* Target for copies. See copy().
- * @requires_gl31 Extension @extension{ARB,copy_buffer}
+ * @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES
* 2.0.
*/
@@ -124,14 +124,14 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES
/**
* Indirect compute dispatch commands.
- * @requires_gl43 Extension @extension{ARB,compute_shader}
+ * @requires_gl43 %Extension @extension{ARB,compute_shader}
* @requires_gl Compute shaders are not available in OpenGL ES.
*/
DispatchIndirect = GL_DISPATCH_INDIRECT_BUFFER,
/**
* Used for supplying arguments for indirect drawing.
- * @requires_gl40 Extension @extension{ARB,draw_indirect}
+ * @requires_gl40 %Extension @extension{ARB,draw_indirect}
* @requires_gl Indirect drawing not available in OpenGL ES.
*/
DrawIndirect = GL_DRAW_INDIRECT_BUFFER,
@@ -161,14 +161,14 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES
/**
* Used for shader storage.
- * @requires_gl43 Extension @extension{ARB,shader_storage_buffer_object}
+ * @requires_gl43 %Extension @extension{ARB,shader_storage_buffer_object}
* @requires_gl Shader storage is not available in OpenGL ES.
*/
ShaderStorage = GL_SHADER_STORAGE_BUFFER,
/**
* Source for texel fetches. See BufferTexture.
- * @requires_gl31 Extension @extension{ARB,texture_buffer_object}
+ * @requires_gl31 %Extension @extension{ARB,texture_buffer_object}
* @requires_gl Texture buffers are not available in OpenGL ES.
*/
Texture = GL_TEXTURE_BUFFER,
@@ -177,7 +177,7 @@ class MAGNUM_EXPORT Buffer {
#ifndef MAGNUM_TARGET_GLES2
/**
* Target for transform feedback.
- * @requires_gl30 Extension @extension{EXT,transform_feedback}
+ * @requires_gl30 %Extension @extension{EXT,transform_feedback}
* @requires_gles30 Transform feedback is not available in OpenGL
* ES 2.0.
*/
@@ -185,7 +185,7 @@ class MAGNUM_EXPORT Buffer {
/**
* Used for storing uniforms.
- * @requires_gl31 Extension @extension{ARB,uniform_buffer_object}
+ * @requires_gl31 %Extension @extension{ARB,uniform_buffer_object}
* @requires_gles30 Uniform buffers are not available in OpenGL ES
* 2.0.
*/
@@ -293,7 +293,7 @@ class MAGNUM_EXPORT Buffer {
* buffers aren't already bound somewhere, they are bound to
* `Target::CopyRead` and `Target::CopyWrite` before the copy is
* performed.
- * @requires_gl31 Extension @extension{ARB,copy_buffer}
+ * @requires_gl31 %Extension @extension{ARB,copy_buffer}
* @requires_gles30 Buffer copying is not available in OpenGL ES 2.0.
* @see @fn_gl{BindBuffer} and @fn_gl{CopyBufferSubData} or
* @fn_gl_extension{NamedCopyBufferSubData,EXT,direct_state_access}
diff --git a/src/BufferTexture.h b/src/BufferTexture.h
index 548206247..bdb98656e 100644
--- a/src/BufferTexture.h
+++ b/src/BufferTexture.h
@@ -67,7 +67,7 @@ uses DSA function to avoid unnecessary calls to @fn_gl{ActiveTexture} and
"relevant section in AbstractTexture documentation" and respective function
documentation for more information.
-@requires_gl31 Extension @extension{ARB,texture_buffer_object}
+@requires_gl31 %Extension @extension{ARB,texture_buffer_object}
@requires_gl Texture buffers are not available in OpenGL ES.
*/
class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
@@ -147,7 +147,7 @@ class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/**
* RGB, each component non-normalized unsigned int.
- * @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
+ * @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32UI = GL_RGB32UI,
@@ -162,7 +162,7 @@ class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/**
* RGB, each component non-normalized signed int.
- * @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
+ * @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32I = GL_RGB32I,
@@ -186,7 +186,7 @@ class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/**
* RGB, each component float.
- * @requires_gl40 Extension @extension{ARB,texture_buffer_object_rgb32}
+ * @requires_gl40 %Extension @extension{ARB,texture_buffer_object_rgb32}
*/
RGB32F = GL_RGB32F,
diff --git a/src/Context.h b/src/Context.h
index ccc5ddbd4..b2bf161c8 100644
--- a/src/Context.h
+++ b/src/Context.h
@@ -138,10 +138,13 @@ class MAGNUM_EXPORT Context {
/**
* @brief Constructor
*
+ * Constructed automatically, see class documentation for more
+ * information.
* @see @fn_gl{Get} with @def_gl{MAJOR_VERSION}, @def_gl{MINOR_VERSION},
* @fn_gl{GetString} with @def_gl{EXTENSIONS}
*/
Context();
+
~Context();
/** @brief Current context */
diff --git a/src/CubeMapTexture.h b/src/CubeMapTexture.h
index a0622d252..c6d2da991 100644
--- a/src/CubeMapTexture.h
+++ b/src/CubeMapTexture.h
@@ -82,7 +82,7 @@ class CubeMapTexture: public AbstractTexture {
*
* Initially disabled on desktop OpenGL.
* @see @fn_gl{Enable}/@fn_gl{Disable} with @def_gl{TEXTURE_CUBE_MAP_SEAMLESS}
- * @requires_gl32 Extension @extension{ARB,seamless_cube_map}
+ * @requires_gl32 %Extension @extension{ARB,seamless_cube_map}
* @requires_gl Not available in OpenGL ES 2.0, always enabled in
* OpenGL ES 3.0.
*/
diff --git a/src/CubeMapTextureArray.h b/src/CubeMapTextureArray.h
index 0bf226684..abda57b71 100644
--- a/src/CubeMapTextureArray.h
+++ b/src/CubeMapTextureArray.h
@@ -66,7 +66,7 @@ one of the six sides of the cube map, fourth part is layer in the array. See
also AbstractShaderProgram for more information.
@see CubeMapTexture::setSeamless()
-@requires_gl40 Extension @extension{ARB,texture_cube_map_array}
+@requires_gl40 %Extension @extension{ARB,texture_cube_map_array}
@requires_gl Cube map texture arrays are not available in OpenGL ES.
*/
class CubeMapTextureArray: public AbstractTexture {
diff --git a/src/Extensions.h b/src/Extensions.h
index cd805c12e..068f84b22 100644
--- a/src/Extensions.h
+++ b/src/Extensions.h
@@ -30,7 +30,7 @@ Each extension is `struct` named hierarchically by prefix, vendor and
extension name, for example `GL::APPLE::vertex_array_object`. Each struct has
the same public methods as Extension class (requiredVersion(), coreVersion()
and string(), but these structs are better suited for compile-time decisions
-rather than Extension instances. See Context::isExtensionSupported() for
+rather than %Extension instances. See Context::isExtensionSupported() for
example usage.
@see MAGNUM_ASSERT_EXTENSION_SUPPORTED()
diff --git a/src/Mesh.h b/src/Mesh.h
index 6909bfe59..100b343fb 100644
--- a/src/Mesh.h
+++ b/src/Mesh.h
@@ -155,11 +155,11 @@ class MAGNUM_EXPORT Mesh {
* @brief Provoking vertex
*
* @see setProvokingVertex()
- * @requires_gl OpenGL ES behaves always like
- * ProvokingMode::%LastVertexConvention.
- * @requires_gl32 Extension @extension{ARB,provoking_vertex}. Older
+ * @requires_gl32 %Extension @extension{ARB,provoking_vertex}. Older
* versions behave always like
* ProvokingMode::%LastVertexConvention.
+ * @requires_gl OpenGL ES behaves always like
+ * ProvokingMode::%LastVertexConvention.
*/
enum class ProvokingVertex: GLenum {
/** @brief Use first vertex of each polygon. */
@@ -174,9 +174,9 @@ class MAGNUM_EXPORT Mesh {
*
* Initial value is ProvokingMode::%LastVertexConvention.
* @see @fn_gl{ProvokingVertex}
- * @requires_gl OpenGL ES behaves always like the default.
- * @requires_gl32 Extension @extension{ARB,provoking_vertex}. Older
+ * @requires_gl32 %Extension @extension{ARB,provoking_vertex}. Older
* versions behave always like the default.
+ * @requires_gl OpenGL ES behaves always like the default.
*/
inline static void setProvokingVertex(ProvokingVertex mode) {
glProvokingVertex(static_cast(mode));
diff --git a/src/Platform/ExtensionWrangler.h b/src/Platform/ExtensionWrangler.h
index f9353b3fc..536a8c11b 100644
--- a/src/Platform/ExtensionWrangler.h
+++ b/src/Platform/ExtensionWrangler.h
@@ -21,7 +21,7 @@
namespace Magnum { namespace Platform {
-/** @brief Extension wrangler interface */
+/** @brief %Extension wrangler interface */
class ExtensionWrangler {
public:
/** @brief Whether to enable or disable experimental features */
diff --git a/src/Query.h b/src/Query.h
index 723826ddc..d548e2100 100644
--- a/src/Query.h
+++ b/src/Query.h
@@ -78,7 +78,8 @@ class MAGNUM_EXPORT AbstractQuery {
* Note that this function is blocking until the result is available.
* See resultAvailable().
* @see @fn_gl{GetQueryObject} with @def_gl{QUERY_RESULT}
- * @requires_gl33 Extension @extension{ARB,timer_query} (result type `GLuint64` and `GLint64`)
+ * @requires_gl33 %Extension @extension{ARB,timer_query} (result
+ * type `GLuint64` and `GLint64`)
* @requires_gl Result types @c GLint, @c GLuint64 and @c GLint64 are
* not available in OpenGL ES.
*/
@@ -119,7 +120,7 @@ if(!q.resultAvailable()) {
// ...or block until the result is available
GLuint primitiveCount = q.result();
@endcode
-@requires_gl30 Extension @extension{EXT,transform_feedback}
+@requires_gl30 %Extension @extension{EXT,transform_feedback}
@requires_gles30 Only sample queries are available on OpenGL ES 2.0.
*/
class MAGNUM_EXPORT Query: public AbstractQuery {
@@ -144,7 +145,7 @@ class MAGNUM_EXPORT Query: public AbstractQuery {
/**
* Elapsed time
- * @requires_gl33 Extension @extension{ARB,timer_query}
+ * @requires_gl33 %Extension @extension{ARB,timer_query}
* @requires_gl Only transform feedback query is available in
* OpenGL ES.
*/
@@ -227,7 +228,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
/**
* Whether any samples passed from fragment shader
- * @requires_gl33 Extension @extension{ARB,occlusion_query2}
+ * @requires_gl33 %Extension @extension{ARB,occlusion_query2}
*/
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassed = GL_ANY_SAMPLES_PASSED,
@@ -240,7 +241,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
*
* An implementation may choose a less precise version of the
* test at the expense of some false positives.
- * @requires_gl43 Extension @extension{ARB,ES3_compatibility}
+ * @requires_gl43 %Extension @extension{ARB,ES3_compatibility}
*/
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE
@@ -253,7 +254,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
/**
* @brief Conditional render mode
*
- * @requires_gl30 Extension @extension{NV,conditional_render}
+ * @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
enum class ConditionalRenderMode: GLenum {
@@ -298,7 +299,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
* @brief Begin conditional rendering based on result value
*
* @see @fn_gl{BeginConditionalRender}
- * @requires_gl30 Extension @extension{NV,conditional_render}
+ * @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
inline void beginConditionalRender(ConditionalRenderMode mode) {
@@ -309,7 +310,7 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
* @brief End conditional render
*
* @see @fn_gl{EndConditionalRender}
- * @requires_gl30 Extension @extension{NV,conditional_render}
+ * @requires_gl30 %Extension @extension{NV,conditional_render}
* @requires_gl Conditional rendering is not available in OpenGL ES.
*/
inline void endConditionalRender() {
@@ -352,7 +353,7 @@ GLuint timeElapsed1 = tmp-q1.result();
GLuint timeElapsed2 = q3.result()-tmp;
@endcode
Using this query results in fewer OpenGL calls when doing more measures.
-@requires_gl33 Extension @extension{ARB,timer_query}
+@requires_gl33 %Extension @extension{ARB,timer_query}
@requires_gl Timer query is not available in OpenGL ES.
*/
class TimeQuery: public AbstractQuery {
diff --git a/src/Renderer.h b/src/Renderer.h
index d4b319676..420c29cf9 100644
--- a/src/Renderer.h
+++ b/src/Renderer.h
@@ -79,7 +79,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Depth clamping. If enabled, ignores near and far clipping plane.
- * @requires_gl32 Extension @extension{ARB,depth_clamp}
+ * @requires_gl32 %Extension @extension{ARB,depth_clamp}
* @requires_gl Depth clamping is not available in OpenGL ES.
*/
DepthClamp = GL_DEPTH_CLAMP,
@@ -146,7 +146,7 @@ class MAGNUM_EXPORT Renderer {
* @overload
*
* @see @fn_gl{ClearDepth}
- * @requires_gl41 Extension @extension{ARB,ES2_compatibility}
+ * @requires_gl41 %Extension @extension{ARB,ES2_compatibility}
* @todo Call double version if the extension is not available
*/
inline static void setClearDepth(GLfloat depth) { glClearDepthf(depth); }
@@ -451,7 +451,7 @@ class MAGNUM_EXPORT Renderer {
* Second source color (@f$ RGB = (R_{s1}, G_{s1}, B_{s1}); A = A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
- * @requires_gl33 Extension @extension{ARB,blend_func_extended}
+ * @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@@ -468,7 +468,7 @@ class MAGNUM_EXPORT Renderer {
* One minus second source color (@f$ RGB = (1.0 - R_{s1}, 1.0 - G_{s1}, 1.0 - B_{s1}); A = 1.0 - A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
- * @requires_gl33 Extension @extension{ARB,blend_func_extended}
+ * @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@@ -490,7 +490,7 @@ class MAGNUM_EXPORT Renderer {
* Second source alpha (@f$ RGB = (A_{s1}, A_{s1}, A_{s1}); A = A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
- * @requires_gl33 Extension @extension{ARB,blend_func_extended}
+ * @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
@@ -507,7 +507,7 @@ class MAGNUM_EXPORT Renderer {
* One minus second source alpha (@f$ RGB = (1.0 - A_{s1}, 1.0 - A_{s1}, 1.0 - A_{s1}); A = 1.0 - A_{s1} @f$)
*
* @see AbstractShaderProgram::bindFragmentDataLocationIndexed()
- * @requires_gl33 Extension @extension{ARB,blend_func_extended}
+ * @requires_gl33 %Extension @extension{ARB,blend_func_extended}
* @requires_gl Multiple blending inputs are not available in
* OpenGL ES.
*/
diff --git a/src/Shader.h b/src/Shader.h
index 566cadb68..798a6c223 100644
--- a/src/Shader.h
+++ b/src/Shader.h
@@ -47,28 +47,28 @@ class MAGNUM_EXPORT Shader {
#ifndef MAGNUM_TARGET_GLES
/**
* Tessellation control shader
- * @requires_gl40 Extension @extension{ARB,tessellation_shader}
+ * @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
TessellationControl = GL_TESS_CONTROL_SHADER,
/**
* Tessellation evaluation shader
- * @requires_gl40 Extension @extension{ARB,tessellation_shader}
+ * @requires_gl40 %Extension @extension{ARB,tessellation_shader}
* @requires_gl Tessellation shaders are not available in OpenGL ES.
*/
TessellationEvaluation = GL_TESS_EVALUATION_SHADER,
/**
* Geometry shader
- * @requires_gl32 Extension @extension{ARB,geometry_shader4}
+ * @requires_gl32 %Extension @extension{ARB,geometry_shader4}
* @requires_gl Geometry shaders are not available in OpenGL ES.
*/
Geometry = GL_GEOMETRY_SHADER,
/**
* Compute shader
- * @requires_gl43 Extension @extension{ARB,compute_shader}
+ * @requires_gl43 %Extension @extension{ARB,compute_shader}
* @requires_gl Compute shaders are not available in OpenGL ES.
*/
Compute = GL_COMPUTE_SHADER,
diff --git a/src/Texture.h b/src/Texture.h
index 012618b4e..cc7ec7ff5 100644
--- a/src/Texture.h
+++ b/src/Texture.h
@@ -102,7 +102,8 @@ rectangle textures don't support mipmapping and repeating wrapping modes, see
generateMipmap() documentation for more information.
@requires_gl Rectangle textures are not available in OpenGL ES.
-@requires_gl31 Extension @extension{ARB,texture_rectangle} (rectangle textures)
+@requires_gl31 %Extension @extension{ARB,texture_rectangle} (rectangle
+ textures)
@see Texture1D, Texture2D, Texture3D, CubeMapTexture, CubeMapTextureArray
@todo @extension{AMD,sparse_texture}
@@ -135,7 +136,7 @@ template class Texture: public AbstractTexture {
/**
* One-dimensional texture array (i.e. two dimensions in total)
- * @requires_gl30 Extension @extension{EXT,texture_array}
+ * @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gl Only 2D and 3D textures are available in OpenGL
* ES.
*/
@@ -143,7 +144,7 @@ template class Texture: public AbstractTexture {
/**
* Two-dimensional texture array (i.e. three dimensions in total)
- * @requires_gl30 Extension @extension{EXT,texture_array}
+ * @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gles30 Array textures are not available in OpenGL ES
* 2.0.
*/
@@ -151,7 +152,7 @@ template class Texture: public AbstractTexture {
/**
* Rectangle texture (i.e. two dimensions)
- * @requires_gl31 Extension @extension{ARB,texture_rectangle}
+ * @requires_gl31 %Extension @extension{ARB,texture_rectangle}
* @requires_gl Rectangle textures are not available in OpenGL ES.
*/
Rectangle = GL_TEXTURE_RECTANGLE