diff --git a/src/Magnum/GL/Renderer.cpp b/src/Magnum/GL/Renderer.cpp index 66b409b37..64a359b92 100644 --- a/src/Magnum/GL/Renderer.cpp +++ b/src/Magnum/GL/Renderer.cpp @@ -368,6 +368,17 @@ void Renderer::setLogicOperation(const LogicOperation operation) { } #endif +#if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) +/* https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-memorybarrier + Sigh. Our glMemoryBarrier is actually flextGL.MemoryBarrier and then + windows.h comes around and sets things on fire. Unless I'm doing something + very wrong, windows.h should not be dragged into this file, so no #undef + should be necessary. */ +void Renderer::setMemoryBarrier(MemoryBarriers barriers) { + glMemoryBarrier(GLbitfield(barriers)); +} +#endif + #ifndef MAGNUM_TARGET_WEBGL Renderer::ResetNotificationStrategy Renderer::resetNotificationStrategy() { #ifndef MAGNUM_TARGET_GLES diff --git a/src/Magnum/GL/Renderer.h b/src/Magnum/GL/Renderer.h index 423fe5d55..7a3b6451c 100644 --- a/src/Magnum/GL/Renderer.h +++ b/src/Magnum/GL/Renderer.h @@ -1930,9 +1930,7 @@ class MAGNUM_GL_EXPORT Renderer { * @requires_gles31 Shader load/store is not available in OpenGL ES 3.0 and older. * @requires_gles Shader load/store is not available in WebGL. */ - static void setMemoryBarrier(MemoryBarriers barriers) { - glMemoryBarrier(GLbitfield(barriers)); - } + static void setMemoryBarrier(MemoryBarriers barriers); /** * @brief Set memory barrier by region