forked from Ports/perfect_dark
port: nicer GL debug output
now only enabled if you pass --debug-gl
This commit is contained in:
1 parent
dad5b3c074
commit
bd113a5b44
4 files changed
+237
-39
No files matched your search
@@ -803,8 +803,24 @@ typedef void (APIENTRY *DEBUGPROC)(GLenum source,
|
||||
const void *userParam);
|
||||
|
||||
static void APIENTRY gl_debug(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *msg, const void *p) {
|
||||
if (severity > 0x826B) {
|
||||
sysLogPrintf(LOG_WARNING, "GL: %s", msg);
|
||||
sysLogPrintf(LOG_WARNING, "GL: (%05x) %s", id, msg);
|
||||
}
|
||||
|
||||
static void gfx_opengl_enable_debug(void) {
|
||||
if (GLAD_GL_KHR_debug) {
|
||||
glEnable(GL_DEBUG_OUTPUT);
|
||||
}
|
||||
if (glDebugMessageControl != NULL) {
|
||||
// enable everything except some specific spam messages
|
||||
const GLuint disable[] = {
|
||||
0x20061, /* "Framebuffer detailed info" */
|
||||
0x20071 /* "Buffer detailed info" */
|
||||
};
|
||||
glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL, GL_TRUE);
|
||||
glDebugMessageControl(GL_DEBUG_SOURCE_API, GL_DEBUG_TYPE_OTHER, GL_DONT_CARE, 2, disable, GL_FALSE);
|
||||
}
|
||||
if (glDebugMessageCallback != NULL) {
|
||||
glDebugMessageCallback(gl_debug, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -813,9 +829,8 @@ static void gfx_opengl_init(void) {
|
||||
sysFatalError("Could not load OpenGL. Ensure your GPU supports at least OpenGL 2.1.");
|
||||
}
|
||||
|
||||
void APIENTRY (*pglDebugMessageCallback)(DEBUGPROC, const void *) = (void APIENTRY (*)(DEBUGPROC, const void *))SDL_GL_GetProcAddress("glDebugMessageCallback");
|
||||
if (pglDebugMessageCallback) {
|
||||
pglDebugMessageCallback(gl_debug, NULL);
|
||||
if (sysArgCheck("--debug-gl")) {
|
||||
gfx_opengl_enable_debug();
|
||||
}
|
||||
|
||||
glGenBuffers(1, &opengl_vbo);
|
||||
|
||||
+13
-26
@@ -69,30 +69,18 @@ static void gfx_sdl_init(const char* game_name, const char* gfx_api_name, bool s
|
||||
sysFatalError("Could not init SDL:\n%s", SDL_GetError());
|
||||
}
|
||||
|
||||
SDL_EventState(SDL_DROPFILE, SDL_ENABLE);
|
||||
|
||||
bool use_opengl = true;
|
||||
|
||||
if (use_opengl) {
|
||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||
}
|
||||
|
||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
||||
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);
|
||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);
|
||||
if (sysArgCheck("--debug-gl")) {
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG);
|
||||
}
|
||||
|
||||
char title[512];
|
||||
int len = sprintf(title, "%s (%s)", game_name, gfx_api_name);
|
||||
|
||||
Uint32 flags = SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI;
|
||||
|
||||
if (use_opengl) {
|
||||
flags = flags | SDL_WINDOW_OPENGL;
|
||||
} else {
|
||||
flags = flags | SDL_WINDOW_METAL;
|
||||
}
|
||||
snprintf(title, sizeof(title), "%s (%s)", game_name, gfx_api_name);
|
||||
|
||||
int display_in_use = SDL_GetWindowDisplayIndex(wnd);
|
||||
if (display_in_use < 0) { // Fallback to default if out of bounds
|
||||
@@ -100,19 +88,18 @@ static void gfx_sdl_init(const char* game_name, const char* gfx_api_name, bool s
|
||||
posY = 100;
|
||||
}
|
||||
|
||||
const Uint32 flags = SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI | SDL_WINDOW_OPENGL;
|
||||
wnd = SDL_CreateWindow(title, posX, posY, window_width, window_height, flags);
|
||||
if (!wnd) {
|
||||
sysFatalError("Could not open SDL window:\n%s", SDL_GetError());
|
||||
}
|
||||
|
||||
if (use_opengl) {
|
||||
ctx = SDL_GL_CreateContext(wnd);
|
||||
if (!ctx) {
|
||||
sysFatalError("Could not create GL2.1 context:\n%s", SDL_GetError());
|
||||
}
|
||||
SDL_GL_MakeCurrent(wnd, ctx);
|
||||
SDL_GL_SetSwapInterval(1);
|
||||
ctx = SDL_GL_CreateContext(wnd);
|
||||
if (!ctx) {
|
||||
sysFatalError("Could not create GL2.1 context:\n%s", SDL_GetError());
|
||||
}
|
||||
SDL_GL_MakeCurrent(wnd, ctx);
|
||||
SDL_GL_SetSwapInterval(1);
|
||||
|
||||
qpc_freq = SDL_GetPerformanceFrequency();
|
||||
|
||||
|
||||
+54
-4
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
|
||||
OpenGL loader generated by glad 0.1.34 on Tue Aug 15 02:22:41 2023.
|
||||
OpenGL loader generated by glad 0.1.34 on Sat Sep 23 22:18:32 2023.
|
||||
|
||||
Language/Generator: C/C++
|
||||
Specification: gl
|
||||
@@ -9,16 +9,17 @@
|
||||
Extensions:
|
||||
GL_ARB_depth_clamp,
|
||||
GL_ARB_framebuffer_object,
|
||||
GL_EXT_framebuffer_object
|
||||
GL_EXT_framebuffer_object,
|
||||
GL_KHR_debug
|
||||
Loader: True
|
||||
Local files: True
|
||||
Omit khrplatform: False
|
||||
Reproducible: False
|
||||
|
||||
Commandline:
|
||||
--profile="compatibility" --api="gl=2.1" --generator="c" --spec="gl" --local-files --extensions="GL_ARB_depth_clamp,GL_ARB_framebuffer_object,GL_EXT_framebuffer_object"
|
||||
--profile="compatibility" --api="gl=2.1" --generator="c" --spec="gl" --local-files --extensions="GL_ARB_depth_clamp,GL_ARB_framebuffer_object,GL_EXT_framebuffer_object,GL_KHR_debug"
|
||||
Online:
|
||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D2.1&extensions=GL_ARB_depth_clamp&extensions=GL_ARB_framebuffer_object&extensions=GL_EXT_framebuffer_object
|
||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D2.1&extensions=GL_ARB_depth_clamp&extensions=GL_ARB_framebuffer_object&extensions=GL_EXT_framebuffer_object&extensions=GL_KHR_debug
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@@ -819,6 +820,7 @@ PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv = NULL;
|
||||
int GLAD_GL_ARB_depth_clamp = 0;
|
||||
int GLAD_GL_ARB_framebuffer_object = 0;
|
||||
int GLAD_GL_EXT_framebuffer_object = 0;
|
||||
int GLAD_GL_KHR_debug = 0;
|
||||
PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
|
||||
PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
|
||||
PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
|
||||
@@ -856,6 +858,27 @@ PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT = NULL;
|
||||
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT = NULL;
|
||||
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT = NULL;
|
||||
PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT = NULL;
|
||||
PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL;
|
||||
PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL;
|
||||
PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL;
|
||||
PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog = NULL;
|
||||
PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup = NULL;
|
||||
PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup = NULL;
|
||||
PFNGLOBJECTLABELPROC glad_glObjectLabel = NULL;
|
||||
PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel = NULL;
|
||||
PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel = NULL;
|
||||
PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel = NULL;
|
||||
PFNGLDEBUGMESSAGECONTROLKHRPROC glad_glDebugMessageControlKHR = NULL;
|
||||
PFNGLDEBUGMESSAGEINSERTKHRPROC glad_glDebugMessageInsertKHR = NULL;
|
||||
PFNGLDEBUGMESSAGECALLBACKKHRPROC glad_glDebugMessageCallbackKHR = NULL;
|
||||
PFNGLGETDEBUGMESSAGELOGKHRPROC glad_glGetDebugMessageLogKHR = NULL;
|
||||
PFNGLPUSHDEBUGGROUPKHRPROC glad_glPushDebugGroupKHR = NULL;
|
||||
PFNGLPOPDEBUGGROUPKHRPROC glad_glPopDebugGroupKHR = NULL;
|
||||
PFNGLOBJECTLABELKHRPROC glad_glObjectLabelKHR = NULL;
|
||||
PFNGLGETOBJECTLABELKHRPROC glad_glGetObjectLabelKHR = NULL;
|
||||
PFNGLOBJECTPTRLABELKHRPROC glad_glObjectPtrLabelKHR = NULL;
|
||||
PFNGLGETOBJECTPTRLABELKHRPROC glad_glGetObjectPtrLabelKHR = NULL;
|
||||
PFNGLGETPOINTERVKHRPROC glad_glGetPointervKHR = NULL;
|
||||
static void load_GL_VERSION_1_0(GLADloadproc load) {
|
||||
if(!GLAD_GL_VERSION_1_0) return;
|
||||
glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
|
||||
@@ -1474,11 +1497,37 @@ static void load_GL_EXT_framebuffer_object(GLADloadproc load) {
|
||||
glad_glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)load("glGetFramebufferAttachmentParameterivEXT");
|
||||
glad_glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)load("glGenerateMipmapEXT");
|
||||
}
|
||||
static void load_GL_KHR_debug(GLADloadproc load) {
|
||||
if(!GLAD_GL_KHR_debug) return;
|
||||
glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
|
||||
glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load("glDebugMessageInsert");
|
||||
glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load("glDebugMessageCallback");
|
||||
glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load("glGetDebugMessageLog");
|
||||
glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load("glPushDebugGroup");
|
||||
glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load("glPopDebugGroup");
|
||||
glad_glObjectLabel = (PFNGLOBJECTLABELPROC)load("glObjectLabel");
|
||||
glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load("glGetObjectLabel");
|
||||
glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load("glObjectPtrLabel");
|
||||
glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load("glGetObjectPtrLabel");
|
||||
glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv");
|
||||
glad_glDebugMessageControlKHR = (PFNGLDEBUGMESSAGECONTROLKHRPROC)load("glDebugMessageControlKHR");
|
||||
glad_glDebugMessageInsertKHR = (PFNGLDEBUGMESSAGEINSERTKHRPROC)load("glDebugMessageInsertKHR");
|
||||
glad_glDebugMessageCallbackKHR = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)load("glDebugMessageCallbackKHR");
|
||||
glad_glGetDebugMessageLogKHR = (PFNGLGETDEBUGMESSAGELOGKHRPROC)load("glGetDebugMessageLogKHR");
|
||||
glad_glPushDebugGroupKHR = (PFNGLPUSHDEBUGGROUPKHRPROC)load("glPushDebugGroupKHR");
|
||||
glad_glPopDebugGroupKHR = (PFNGLPOPDEBUGGROUPKHRPROC)load("glPopDebugGroupKHR");
|
||||
glad_glObjectLabelKHR = (PFNGLOBJECTLABELKHRPROC)load("glObjectLabelKHR");
|
||||
glad_glGetObjectLabelKHR = (PFNGLGETOBJECTLABELKHRPROC)load("glGetObjectLabelKHR");
|
||||
glad_glObjectPtrLabelKHR = (PFNGLOBJECTPTRLABELKHRPROC)load("glObjectPtrLabelKHR");
|
||||
glad_glGetObjectPtrLabelKHR = (PFNGLGETOBJECTPTRLABELKHRPROC)load("glGetObjectPtrLabelKHR");
|
||||
glad_glGetPointervKHR = (PFNGLGETPOINTERVKHRPROC)load("glGetPointervKHR");
|
||||
}
|
||||
static int find_extensionsGL(void) {
|
||||
if (!get_exts()) return 0;
|
||||
GLAD_GL_ARB_depth_clamp = has_ext("GL_ARB_depth_clamp");
|
||||
GLAD_GL_ARB_framebuffer_object = has_ext("GL_ARB_framebuffer_object");
|
||||
GLAD_GL_EXT_framebuffer_object = has_ext("GL_EXT_framebuffer_object");
|
||||
GLAD_GL_KHR_debug = has_ext("GL_KHR_debug");
|
||||
free_exts();
|
||||
return 1;
|
||||
}
|
||||
@@ -1551,6 +1600,7 @@ int gladLoadGLLoader(GLADloadproc load) {
|
||||
if (!find_extensionsGL()) return 0;
|
||||
load_GL_ARB_framebuffer_object(load);
|
||||
load_GL_EXT_framebuffer_object(load);
|
||||
load_GL_KHR_debug(load);
|
||||
return GLVersion.major != 0 || GLVersion.minor != 0;
|
||||
}
|
||||
|
||||
+150
-4
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
|
||||
OpenGL loader generated by glad 0.1.34 on Tue Aug 15 02:22:41 2023.
|
||||
OpenGL loader generated by glad 0.1.34 on Sat Sep 23 22:18:32 2023.
|
||||
|
||||
Language/Generator: C/C++
|
||||
Specification: gl
|
||||
@@ -9,16 +9,17 @@
|
||||
Extensions:
|
||||
GL_ARB_depth_clamp,
|
||||
GL_ARB_framebuffer_object,
|
||||
GL_EXT_framebuffer_object
|
||||
GL_EXT_framebuffer_object,
|
||||
GL_KHR_debug
|
||||
Loader: True
|
||||
Local files: True
|
||||
Omit khrplatform: False
|
||||
Reproducible: False
|
||||
|
||||
Commandline:
|
||||
--profile="compatibility" --api="gl=2.1" --generator="c" --spec="gl" --local-files --extensions="GL_ARB_depth_clamp,GL_ARB_framebuffer_object,GL_EXT_framebuffer_object"
|
||||
--profile="compatibility" --api="gl=2.1" --generator="c" --spec="gl" --local-files --extensions="GL_ARB_depth_clamp,GL_ARB_framebuffer_object,GL_EXT_framebuffer_object,GL_KHR_debug"
|
||||
Online:
|
||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D2.1&extensions=GL_ARB_depth_clamp&extensions=GL_ARB_framebuffer_object&extensions=GL_EXT_framebuffer_object
|
||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D2.1&extensions=GL_ARB_depth_clamp&extensions=GL_ARB_framebuffer_object&extensions=GL_EXT_framebuffer_object&extensions=GL_KHR_debug
|
||||
*/
|
||||
|
||||
|
||||
@@ -2817,6 +2818,84 @@ GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
|
||||
#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
|
||||
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
|
||||
#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
|
||||
#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
|
||||
#define GL_DEBUG_SOURCE_API 0x8246
|
||||
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
|
||||
#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
|
||||
#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
|
||||
#define GL_DEBUG_SOURCE_APPLICATION 0x824A
|
||||
#define GL_DEBUG_SOURCE_OTHER 0x824B
|
||||
#define GL_DEBUG_TYPE_ERROR 0x824C
|
||||
#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
|
||||
#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
|
||||
#define GL_DEBUG_TYPE_PORTABILITY 0x824F
|
||||
#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
|
||||
#define GL_DEBUG_TYPE_OTHER 0x8251
|
||||
#define GL_DEBUG_TYPE_MARKER 0x8268
|
||||
#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
|
||||
#define GL_DEBUG_TYPE_POP_GROUP 0x826A
|
||||
#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
|
||||
#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
|
||||
#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
|
||||
#define GL_BUFFER 0x82E0
|
||||
#define GL_SHADER 0x82E1
|
||||
#define GL_PROGRAM 0x82E2
|
||||
#define GL_QUERY 0x82E3
|
||||
#define GL_PROGRAM_PIPELINE 0x82E4
|
||||
#define GL_SAMPLER 0x82E6
|
||||
#define GL_MAX_LABEL_LENGTH 0x82E8
|
||||
#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
|
||||
#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
|
||||
#define GL_DEBUG_LOGGED_MESSAGES 0x9145
|
||||
#define GL_DEBUG_SEVERITY_HIGH 0x9146
|
||||
#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
|
||||
#define GL_DEBUG_SEVERITY_LOW 0x9148
|
||||
#define GL_DEBUG_OUTPUT 0x92E0
|
||||
#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
|
||||
#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
|
||||
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
|
||||
#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
|
||||
#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
|
||||
#define GL_DEBUG_SOURCE_API_KHR 0x8246
|
||||
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
|
||||
#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
|
||||
#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
|
||||
#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
|
||||
#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
|
||||
#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
|
||||
#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
|
||||
#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
|
||||
#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
|
||||
#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
|
||||
#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
|
||||
#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
|
||||
#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
|
||||
#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
|
||||
#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
|
||||
#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
|
||||
#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
|
||||
#define GL_BUFFER_KHR 0x82E0
|
||||
#define GL_SHADER_KHR 0x82E1
|
||||
#define GL_PROGRAM_KHR 0x82E2
|
||||
#define GL_VERTEX_ARRAY_KHR 0x8074
|
||||
#define GL_QUERY_KHR 0x82E3
|
||||
#define GL_PROGRAM_PIPELINE_KHR 0x82E4
|
||||
#define GL_SAMPLER_KHR 0x82E6
|
||||
#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
|
||||
#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
|
||||
#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
|
||||
#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
|
||||
#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
|
||||
#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
|
||||
#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
|
||||
#define GL_DEBUG_OUTPUT_KHR 0x92E0
|
||||
#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
|
||||
#define GL_STACK_OVERFLOW_KHR 0x0503
|
||||
#define GL_STACK_UNDERFLOW_KHR 0x0504
|
||||
#define GL_DISPLAY_LIST 0x82E7
|
||||
#ifndef GL_ARB_depth_clamp
|
||||
#define GL_ARB_depth_clamp 1
|
||||
GLAPI int GLAD_GL_ARB_depth_clamp;
|
||||
@@ -2940,6 +3019,73 @@ typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC)(GLenum target);
|
||||
GLAPI PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT;
|
||||
#define glGenerateMipmapEXT glad_glGenerateMipmapEXT
|
||||
#endif
|
||||
#ifndef GL_KHR_debug
|
||||
#define GL_KHR_debug 1
|
||||
GLAPI int GLAD_GL_KHR_debug;
|
||||
typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
|
||||
GLAPI PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl;
|
||||
#define glDebugMessageControl glad_glDebugMessageControl
|
||||
typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
|
||||
GLAPI PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert;
|
||||
#define glDebugMessageInsert glad_glDebugMessageInsert
|
||||
typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const void *userParam);
|
||||
GLAPI PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback;
|
||||
#define glDebugMessageCallback glad_glDebugMessageCallback
|
||||
typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
|
||||
GLAPI PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog;
|
||||
#define glGetDebugMessageLog glad_glGetDebugMessageLog
|
||||
typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);
|
||||
GLAPI PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup;
|
||||
#define glPushDebugGroup glad_glPushDebugGroup
|
||||
typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC)(void);
|
||||
GLAPI PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup;
|
||||
#define glPopDebugGroup glad_glPopDebugGroup
|
||||
typedef void (APIENTRYP PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
|
||||
GLAPI PFNGLOBJECTLABELPROC glad_glObjectLabel;
|
||||
#define glObjectLabel glad_glObjectLabel
|
||||
typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
|
||||
GLAPI PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel;
|
||||
#define glGetObjectLabel glad_glGetObjectLabel
|
||||
typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC)(const void *ptr, GLsizei length, const GLchar *label);
|
||||
GLAPI PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel;
|
||||
#define glObjectPtrLabel glad_glObjectPtrLabel
|
||||
typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
|
||||
GLAPI PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel;
|
||||
#define glGetObjectPtrLabel glad_glGetObjectPtrLabel
|
||||
typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
|
||||
GLAPI PFNGLDEBUGMESSAGECONTROLKHRPROC glad_glDebugMessageControlKHR;
|
||||
#define glDebugMessageControlKHR glad_glDebugMessageControlKHR
|
||||
typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
|
||||
GLAPI PFNGLDEBUGMESSAGEINSERTKHRPROC glad_glDebugMessageInsertKHR;
|
||||
#define glDebugMessageInsertKHR glad_glDebugMessageInsertKHR
|
||||
typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC)(GLDEBUGPROCKHR callback, const void *userParam);
|
||||
GLAPI PFNGLDEBUGMESSAGECALLBACKKHRPROC glad_glDebugMessageCallbackKHR;
|
||||
#define glDebugMessageCallbackKHR glad_glDebugMessageCallbackKHR
|
||||
typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
|
||||
GLAPI PFNGLGETDEBUGMESSAGELOGKHRPROC glad_glGetDebugMessageLogKHR;
|
||||
#define glGetDebugMessageLogKHR glad_glGetDebugMessageLogKHR
|
||||
typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);
|
||||
GLAPI PFNGLPUSHDEBUGGROUPKHRPROC glad_glPushDebugGroupKHR;
|
||||
#define glPushDebugGroupKHR glad_glPushDebugGroupKHR
|
||||
typedef void (APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC)(void);
|
||||
GLAPI PFNGLPOPDEBUGGROUPKHRPROC glad_glPopDebugGroupKHR;
|
||||
#define glPopDebugGroupKHR glad_glPopDebugGroupKHR
|
||||
typedef void (APIENTRYP PFNGLOBJECTLABELKHRPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
|
||||
GLAPI PFNGLOBJECTLABELKHRPROC glad_glObjectLabelKHR;
|
||||
#define glObjectLabelKHR glad_glObjectLabelKHR
|
||||
typedef void (APIENTRYP PFNGLGETOBJECTLABELKHRPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
|
||||
GLAPI PFNGLGETOBJECTLABELKHRPROC glad_glGetObjectLabelKHR;
|
||||
#define glGetObjectLabelKHR glad_glGetObjectLabelKHR
|
||||
typedef void (APIENTRYP PFNGLOBJECTPTRLABELKHRPROC)(const void *ptr, GLsizei length, const GLchar *label);
|
||||
GLAPI PFNGLOBJECTPTRLABELKHRPROC glad_glObjectPtrLabelKHR;
|
||||
#define glObjectPtrLabelKHR glad_glObjectPtrLabelKHR
|
||||
typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
|
||||
GLAPI PFNGLGETOBJECTPTRLABELKHRPROC glad_glGetObjectPtrLabelKHR;
|
||||
#define glGetObjectPtrLabelKHR glad_glGetObjectPtrLabelKHR
|
||||
typedef void (APIENTRYP PFNGLGETPOINTERVKHRPROC)(GLenum pname, void **params);
|
||||
GLAPI PFNGLGETPOINTERVKHRPROC glad_glGetPointervKHR;
|
||||
#define glGetPointervKHR glad_glGetPointervKHR
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user