From 2f42398d5e2aaaa20247db7b8f59302224a91a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 17 Nov 2014 19:15:06 +0100 Subject: [PATCH] Mention performance optimizations in TransformFeedback. --- src/Magnum/TransformFeedback.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Magnum/TransformFeedback.h b/src/Magnum/TransformFeedback.h index 63076519d..0caa107c6 100644 --- a/src/Magnum/TransformFeedback.h +++ b/src/Magnum/TransformFeedback.h @@ -43,6 +43,18 @@ namespace Implementation { struct TransformFeedbackState; } /** @brief Transform feedback +## Performance optimizations + +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. + +If extension @extension{ARB,direct_state_access} (part of OpenGL 4.5) is +available, functions @ref attachBuffer() and @ref attachBuffers() use DSA to +avoid unnecessary call to @fn_gl{BindTransformFeedback}. See their respective +documentation for more information. + @see @ref PrimitiveQuery @requires_gl40 Extension @extension{ARB,transform_feedback2} @requires_gles30 Transform feedback is not available in OpenGL ES 2.0