Can build the project. Now trying to isolate opengl problem
This commit is contained in:
97
inc/gldebug.hpp
Normal file
97
inc/gldebug.hpp
Normal file
@@ -0,0 +1,97 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glad/glad.h>
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
void APIENTRY gl_debug_cb(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam)
|
||||
{
|
||||
// Some debug messages are just annoying informational messages
|
||||
switch (id)
|
||||
{
|
||||
case 131185: // glBufferData
|
||||
return;
|
||||
}
|
||||
|
||||
printf("Message: %s\n", message);
|
||||
printf("Source: ");
|
||||
|
||||
switch (source)
|
||||
{
|
||||
case GL_DEBUG_SOURCE_API:
|
||||
printf("API");
|
||||
break;
|
||||
case GL_DEBUG_SOURCE_WINDOW_SYSTEM:
|
||||
printf("Window System");
|
||||
break;
|
||||
case GL_DEBUG_SOURCE_SHADER_COMPILER:
|
||||
printf("Shader Compiler");
|
||||
break;
|
||||
case GL_DEBUG_SOURCE_THIRD_PARTY:
|
||||
printf("Third Party");
|
||||
break;
|
||||
case GL_DEBUG_SOURCE_APPLICATION:
|
||||
printf("Application");
|
||||
break;
|
||||
case GL_DEBUG_SOURCE_OTHER:
|
||||
printf("Other");
|
||||
break;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("Type: ");
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case GL_DEBUG_TYPE_ERROR:
|
||||
printf("Error");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR:
|
||||
printf("Deprecated Behavior");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR:
|
||||
printf("Undefined Behavior");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_PORTABILITY:
|
||||
printf("Portability");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_PERFORMANCE:
|
||||
printf("Performance");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_MARKER:
|
||||
printf("Marker");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_PUSH_GROUP:
|
||||
printf("Push Group");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_POP_GROUP:
|
||||
printf("Pop Group");
|
||||
break;
|
||||
case GL_DEBUG_TYPE_OTHER:
|
||||
printf("Other");
|
||||
break;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("ID: %d\n", id);
|
||||
printf("Severity: ");
|
||||
|
||||
switch (severity)
|
||||
{
|
||||
case GL_DEBUG_SEVERITY_HIGH:
|
||||
printf("High");
|
||||
break;
|
||||
case GL_DEBUG_SEVERITY_MEDIUM:
|
||||
printf("Medium");
|
||||
break;
|
||||
case GL_DEBUG_SEVERITY_LOW:
|
||||
printf("Low");
|
||||
break;
|
||||
case GL_DEBUG_SEVERITY_NOTIFICATION:
|
||||
printf("Notification");
|
||||
break;
|
||||
}
|
||||
|
||||
printf("\n\n");
|
||||
}
|
||||
Reference in New Issue
Block a user