raze/source/common/rendering/gl/system/gl_debug.h
Christoph Oelckers a1f7f0cc30 - added the GL framebuffer class.
Everything compiles again but obviously no init code will run for now.
2019-12-23 15:40:17 +01:00

44 lines
1.1 KiB
C++

#ifndef __GL_DEBUG_H
#define __GL_DEBUG_H
#include <string.h>
#include "gl_load/gl_interface.h"
#include "c_cvars.h"
#include "v_video.h"
namespace OpenGLRenderer
{
class FGLDebug
{
public:
void Update();
static void LabelObject(GLenum type, GLuint handle, const char *name);
static void LabelObjectPtr(void *ptr, const char *name);
static void PushGroup(const FString &name);
static void PopGroup();
static bool HasDebugApi() { return (gl.flags & RFL_DEBUG) != 0; }
private:
void SetupBreakpointMode();
void UpdateLoggingLevel();
void OutputMessageLog();
static bool IsFilteredByDebugLevel(GLenum severity);
static void PrintMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message);
static void APIENTRY DebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
static FString SourceToString(GLenum source);
static FString TypeToString(GLenum type);
static FString SeverityToString(GLenum severity);
GLenum mCurrentLevel = 0;
bool mBreakpointMode = false;
};
}
#endif