diff --git a/src/Buffer.cpp b/src/Buffer.cpp index dd108bd2e..2fa92c0b2 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -221,4 +221,40 @@ bool Buffer::unmapImplementationDSA() { } #endif +#ifndef DOXYGEN_GENERATING_OUTPUT +Debug operator<<(Debug debug, Buffer::Target value) { + switch(value) { + #define _c(value) case Buffer::Target::value: return debug << "Buffer::Target::" #value; + _c(Array) + #ifndef MAGNUM_TARGET_GLES + _c(AtomicCounter) + #endif + #ifndef MAGNUM_TARGET_GLES2 + _c(CopyRead) + _c(CopyWrite) + #endif + #ifndef MAGNUM_TARGET_GLES + _c(DispatchIndirect) + _c(DrawIndirect) + #endif + _c(ElementArray) + #ifndef MAGNUM_TARGET_GLES2 + _c(PixelPack) + _c(PixelUnpack) + #endif + #ifndef MAGNUM_TARGET_GLES + _c(ShaderStorage) + _c(Texture) + #endif + #ifndef MAGNUM_TARGET_GLES2 + _c(TransformFeedback) + _c(Uniform) + #endif + #undef _c + } + + return debug << "Buffer::Target::(invalid)"; +} +#endif + } diff --git a/src/Buffer.h b/src/Buffer.h index 6f28cfb23..9d3e0c7e9 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -781,6 +781,9 @@ class MAGNUM_EXPORT Buffer { CORRADE_ENUMSET_OPERATORS(Buffer::MapFlags) +/** @debugoperator{Magnum::Buffer} */ +Debug MAGNUM_EXPORT operator<<(Debug debug, Buffer::Target value); + } #endif