diff --git a/doc/opengl-mapping.dox b/doc/opengl-mapping.dox index 5c8ce87df..deba97934 100644 --- a/doc/opengl-mapping.dox +++ b/doc/opengl-mapping.dox @@ -339,7 +339,7 @@ OpenGL function | Matching API @fn_gl{TexStorage1D}, \n `glTextureStorage1D()`, \n @fn_gl_extension{TextureStorage1D,EXT,direct_state_access}, \n @fn_gl{TexStorage2D}, \n `glTextureStorage2D()`, \n @fn_gl_extension{TextureStorage2D,EXT,direct_state_access}, \n @fn_gl{TexStorage3D}, \n `glTextureStorage3D()`, \n @fn_gl_extension{TextureStorage3D,EXT,direct_state_access} | @ref Texture::setStorage(), \n @ref TextureArray::setStorage(), \n @ref CubeMapTexture::setStorage(), \n @ref CubeMapTextureArray::setStorage(), \n @ref RectangleTexture::setStorage() @fn_gl{TexStorage2DMultisample}, \n `glTextureStorage2DMultisample()`, \n @fn_gl_extension{TextureStorage2DMultisample,EXT,direct_state_access}, \n @fn_gl{TexStorage3DMultisample}, \n `glTextureStorage3DMultisample()`, \n @fn_gl_extension{TextureStorage3DMultisample,EXT,direct_state_access} | @ref MultisampleTexture::setStorage() @fn_gl{TexSubImage1D}, \n `glTextureSubImage1D()`, \n @fn_gl_extension{TextureSubImage1D,EXT,direct_state_access}, \n @fn_gl{TexSubImage2D}, \n `glTextureSubImage2D()`, \n @fn_gl_extension{TextureSubImage2D,EXT,direct_state_access}, \n @fn_gl{TexSubImage3D}, \n `glTextureSubImage3D()`, \n @fn_gl_extension{TextureSubImage3D,EXT,direct_state_access} | @ref Texture::setSubImage(), \n @ref TextureArray::setSubImage(), \n @ref CubeMapTexture::setSubImage(), \n @ref CubeMapTextureArray::setSubImage(), \n @ref RectangleTexture::setSubImage() -@fn_gl{TextureBarrier} | | +@fn_gl{TextureBarrier} | @ref Renderer::setTextureBarrier() @fn_gl{TextureView} | | @fn_gl{TransformFeedbackBufferBase}, \n @fn_gl{TransformFeedbackBufferRange} | @ref TransformFeedback::attachBuffer(), \n @ref TransformFeedback::attachBuffers() @fn_gl{TransformFeedbackVaryings} | @ref AbstractShaderProgram::setTransformFeedbackOutputs() diff --git a/doc/opengl-support.dox b/doc/opengl-support.dox index 1128287ac..867845919 100644 --- a/doc/opengl-support.dox +++ b/doc/opengl-support.dox @@ -224,7 +224,7 @@ GLSL 4.50 | done @extension{ARB,direct_state_access} | done for implemented functionality (except VAOs) @extension{ARB,get_texture_sub_image} | done @extension{ARB,shader_texture_image_samples} | done (shading language only) -@extension{ARB,texture_barrier} | | +@extension{ARB,texture_barrier} | done @extension{KHR,context_flush_control} | | @extension{KHR,robustness} | | diff --git a/src/Magnum/Renderer.h b/src/Magnum/Renderer.h index b93098cb6..1eae7b2a9 100644 --- a/src/Magnum/Renderer.h +++ b/src/Magnum/Renderer.h @@ -1337,6 +1337,22 @@ class MAGNUM_EXPORT Renderer { } #endif + #ifndef MAGNUM_TARGET_GLES + /** + * @brief Set texture barrier + * + * Calling the function ensures that texel fetches in drawing + * operations after the barrier will reflect texel writes before the + * barrier. + * @see @fn_gl{TextureBarrier} + * @requires_gl45 Extension @extension{ARB,texture_barrier} + * @requires_gl Texture barrier is not available in OpenGL ES or WebGL. + */ + void setTextureBarrier() { + glTextureBarrier(); + } + #endif + /*@}*/ /** @{ @name Renderer management */