|
@@ -379,6 +379,48 @@ void la_DestroySystemWindowWin32(laWindow* w) {
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
+void APIENTRY glDebugOutput(GLenum source, GLenum type, unsigned int id,
|
|
|
+ GLenum severity, GLsizei length, const char* message, const void* userParam) {
|
|
|
+ // ignore non-significant error/warning codes
|
|
|
+ if (id == 131169 || id == 131185 || id == 131218 || id == 131204) return;
|
|
|
+
|
|
|
+ printf("---------------\n");
|
|
|
+ printf("Debug message (%d): %s\n", id, message);
|
|
|
+
|
|
|
+ char* strsource = "";
|
|
|
+
|
|
|
+ switch (source) {
|
|
|
+ case GL_DEBUG_SOURCE_API: strsource = "Source: API"; break;
|
|
|
+ case GL_DEBUG_SOURCE_WINDOW_SYSTEM: strsource = "Source: Window System"; break;
|
|
|
+ case GL_DEBUG_SOURCE_SHADER_COMPILER: strsource = "Source: Shader Compiler"; break;
|
|
|
+ case GL_DEBUG_SOURCE_THIRD_PARTY: strsource = "Source: Third Party"; break;
|
|
|
+ case GL_DEBUG_SOURCE_APPLICATION: strsource = "Source: Application"; break;
|
|
|
+ case GL_DEBUG_SOURCE_OTHER: strsource = "Source: Other"; break;
|
|
|
+ }printf("%s\n", strsource);
|
|
|
+
|
|
|
+ strsource = "";
|
|
|
+ switch (type) {
|
|
|
+ case GL_DEBUG_TYPE_ERROR: strsource = "Type: Error"; break;
|
|
|
+ case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: strsource = "Type: Deprecated Behaviour"; break;
|
|
|
+ case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: strsource = "Type: Undefined Behaviour"; break;
|
|
|
+ case GL_DEBUG_TYPE_PORTABILITY: strsource = "Type: Portability"; break;
|
|
|
+ case GL_DEBUG_TYPE_PERFORMANCE: strsource = "Type: Performance"; break;
|
|
|
+ case GL_DEBUG_TYPE_MARKER: strsource = "Type: Marker"; break;
|
|
|
+ case GL_DEBUG_TYPE_PUSH_GROUP: strsource = "Type: Push Group"; break;
|
|
|
+ case GL_DEBUG_TYPE_POP_GROUP: strsource = "Type: Pop Group"; break;
|
|
|
+ case GL_DEBUG_TYPE_OTHER: strsource = "Type: Other"; break;
|
|
|
+ }printf("%s\n", strsource);
|
|
|
+
|
|
|
+ strsource = "";
|
|
|
+ switch (severity) {
|
|
|
+ case GL_DEBUG_SEVERITY_HIGH: strsource = "Severity: high"; break;
|
|
|
+ case GL_DEBUG_SEVERITY_MEDIUM: strsource = "Severity: medium"; break;
|
|
|
+ case GL_DEBUG_SEVERITY_LOW: strsource = "Severity: low"; break;
|
|
|
+ case GL_DEBUG_SEVERITY_NOTIFICATION: strsource = "Severity: notification"; break;
|
|
|
+ }printf("%s\n\n", strsource);
|
|
|
+}
|
|
|
+
|
|
|
int la_CreateSystemWindow(laWindow *window, int SyncToVBlank){
|
|
|
SYSGLCONTEXT glc;
|
|
|
#ifdef __linux__
|
|
@@ -391,6 +433,13 @@ int la_CreateSystemWindow(laWindow *window, int SyncToVBlank){
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
la_SetupGLEnviornment(window, hwnd, SyncToVBlank);
|
|
|
+
|
|
|
+
|
|
|
+ glEnable(GL_DEBUG_OUTPUT);
|
|
|
+ glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
|
|
|
+ glDebugMessageCallback(glDebugOutput, 0);
|
|
|
+ glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, 0, GL_TRUE);
|
|
|
+
|
|
|
RECT rc; GetClientRect(window->win, &rc);
|
|
|
window->CW = rc.right - rc.left;
|
|
|
window->CH = rc.bottom - rc.top;
|
|
@@ -827,6 +876,7 @@ int laGetReadyWith(laInitArguments* ia){
|
|
|
SetPixelFormat(hdc, 1, &cpfd);
|
|
|
hglrc = wglCreateContext(hdc);
|
|
|
wglMakeCurrent(hdc, hglrc);
|
|
|
+
|
|
|
//MAIN.hdc = hdc;
|
|
|
// MAIN.tWND = hwnd;
|
|
|
MAIN.glc = hglrc;
|