]> git.lizzy.rs Git - dragonblocks3d.git/blob - src/dragonblocks/gldebug.cpp
c65a7c90e851873d8b3791d3524a5b0e9f79cde9
[dragonblocks3d.git] / src / dragonblocks / gldebug.cpp
1 #include <iostream>
2 #include <string>
3 #include "gldebug.hpp" 
4
5 using namespace std;
6
7 GLenum glCheckError_(const char *file, int line)
8 {
9     GLenum errorCode;
10     if ((errorCode = glGetError()) != GL_NO_ERROR)
11     {
12         string error;
13         switch (errorCode)
14         {
15             case GL_INVALID_ENUM:                  error = "INVALID_ENUM"; break;
16             case GL_INVALID_VALUE:                 error = "INVALID_VALUE"; break;
17             case GL_INVALID_OPERATION:             error = "INVALID_OPERATION"; break;
18             case GL_STACK_OVERFLOW:                error = "STACK_OVERFLOW"; break;
19             case GL_STACK_UNDERFLOW:               error = "STACK_UNDERFLOW"; break;
20             case GL_OUT_OF_MEMORY:                 error = "OUT_OF_MEMORY"; break;
21             case GL_INVALID_FRAMEBUFFER_OPERATION: error = "INVALID_FRAMEBUFFER_OPERATION"; break;
22         }
23         cout << error << " | " << file << " (" << line << ")" << endl;
24     }
25     return errorCode;
26 }