| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
- // All rights reserved.
- // Code licensed under the BSD License.
- // http://www.anki3d.org/LICENSE
- #include <AnKi/Gr/gl/Error.h>
- #include <AnKi/Util/Logger.h>
- #include <cstring>
- namespace anki
- {
- void glConditionalCheckError(const char* file, int line, const char* func)
- {
- GLenum errId = glGetError();
- if(errId == GL_NO_ERROR)
- {
- return;
- }
- const char* glerr;
- switch(errId)
- {
- case GL_INVALID_ENUM:
- glerr = "GL_INVALID_ENUM";
- break;
- case GL_INVALID_VALUE:
- glerr = "GL_INVALID_VALUE";
- break;
- case GL_INVALID_OPERATION:
- glerr = "GL_INVALID_OPERATION";
- break;
- case GL_INVALID_FRAMEBUFFER_OPERATION:
- glerr = "GL_INVALID_FRAMEBUFFER_OPERATION";
- break;
- case GL_OUT_OF_MEMORY:
- glerr = "GL_OUT_OF_MEMORY";
- break;
- default:
- glerr = "unknown";
- };
- char errStr[256];
- const char tmp[] = "OpenGL exception: ";
- memcpy(errStr, tmp, sizeof(tmp));
- strcat(errStr, glerr);
- ANKI_GL_LOGF("GL error: %s (%s:%d %s)", errStr, file, line, func);
- }
- } // namespace anki
|