diff --git a/src/Magnum/AbstractFramebuffer.h b/src/Magnum/AbstractFramebuffer.h index 700f0eb94..dd59bbd17 100644 --- a/src/Magnum/AbstractFramebuffer.h +++ b/src/Magnum/AbstractFramebuffer.h @@ -162,7 +162,8 @@ The engine tracks currently bound framebuffer and current viewport to avoid unnecessary calls to @fn_gl{BindFramebuffer} and @fn_gl{Viewport} when switching framebuffers. Framebuffer limits and implementation-defined values (such as @ref maxViewportSize()) are cached, so repeated queries don't result -in repeated @fn_gl{Get} calls. +in repeated @fn_gl{Get} calls. See also @ref Context::resetState() and +@ref Context::State::Framebuffers. If extension @extension{ARB,direct_state_access} (part of OpenGL 4.5) is available, @ref blit() function uses DSA to avoid unnecessary call to diff --git a/src/Magnum/AbstractShaderProgram.h b/src/Magnum/AbstractShaderProgram.h index b39bb0828..185b1190e 100644 --- a/src/Magnum/AbstractShaderProgram.h +++ b/src/Magnum/AbstractShaderProgram.h @@ -373,8 +373,10 @@ also @ref Attribute::DataType enum for additional type options. @anchor AbstractShaderProgram-performance-optimization ## Performance optimizations -Shader limits (such as @ref maxVertexAttributes()) are cached, so repeated -queries don't result in repeated @fn_gl{Get} calls. +The engine tracks currently used shader program to avoid unnecessary calls to +@fn_gl{UseProgram}. Shader limits (such as @ref maxVertexAttributes()) are +cached, so repeated queries don't result in repeated @fn_gl{Get} calls. See +also @ref Context::resetState() and @ref Context::State::Shaders. If extension @extension{ARB,separate_shader_objects} (part of OpenGL 4.1), @extension{EXT,direct_state_access} desktop extension, @es_extension{EXT,separate_shader_objects} diff --git a/src/Magnum/AbstractTexture.h b/src/Magnum/AbstractTexture.h index 423e21d9c..11096db11 100644 --- a/src/Magnum/AbstractTexture.h +++ b/src/Magnum/AbstractTexture.h @@ -74,7 +74,8 @@ avoid unnecessary calls to @fn_gl{ActiveTexture} and @fn_gl{BindTexture}. Texture configuration functions use dedicated highest available texture unit to not affect active bindings in user units. Texture limits and implementation-defined values (such as @ref maxColorSamples()) are cached, so -repeated queries don't result in repeated @fn_gl{Get} calls. +repeated queries don't result in repeated @fn_gl{Get} calls. See also +@ref Context::resetState() and @ref Context::State::Textures. If @extension{ARB,direct_state_access} (part of OpenGL 4.5) is available, @ref bind(Int) and @ref unbind(Int) use @fn_gl{BindTextureUnit}. Otherwise, if diff --git a/src/Magnum/Buffer.h b/src/Magnum/Buffer.h index ddf6c1703..535a245db 100644 --- a/src/Magnum/Buffer.h +++ b/src/Magnum/Buffer.h @@ -210,7 +210,8 @@ and @ref unmap() use that target instead of binding the buffer to some specific target. You can also use @ref setTargetHint() to possibly reduce unnecessary rebinding. Buffer limits and implementation-defined values (such as @ref maxUniformBindings()) are cached, so repeated queries don't result in -repeated @fn_gl{Get} calls. +repeated @fn_gl{Get} calls. See also @ref Context::resetState() and +@ref Context::State::Buffers. If either @extension{ARB,direct_state_access} (part of OpenGL 4.5) or @extension{EXT,direct_state_access} desktop extension is available, functions diff --git a/src/Magnum/TransformFeedback.h b/src/Magnum/TransformFeedback.h index 13a89602d..8a191b34d 100644 --- a/src/Magnum/TransformFeedback.h +++ b/src/Magnum/TransformFeedback.h @@ -49,7 +49,8 @@ namespace Implementation { struct TransformFeedbackState; } The engine tracks currently bound transform feedback to avoid unnecessary calls to @fn_gl{BindTransformFeedback}. Transform feedback limits and implementation-defined values (such as @ref maxSeparateComponents()) are -cached, so repeated queries don't result in repeated @fn_gl{Get} calls. +cached, so repeated queries don't result in repeated @fn_gl{Get} calls. See +also @ref Context::resetState() and @ref Context::State::TransformFeedback. If @extension{ARB,direct_state_access} (part of OpenGL 4.5) is available, functions @ref attachBuffer() and @ref attachBuffers() use DSA to avoid