diff options
| author | seanpringle <[email protected]> | 2020-07-30 20:50:20 +1000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-07-30 12:50:20 +0200 |
| commit | 1d895616f7cda6779b6e9163099cbdf828759409 (patch) | |
| tree | 14147c89ade754e6703570d597ca444c8b4c79c2 /src/rlgl.h | |
| parent | 9c2ff464b025820b3dfe8d051b2fdb3b8a89a16a (diff) | |
| download | raylib-1d895616f7cda6779b6e9163099cbdf828759409.tar.gz raylib-1d895616f7cda6779b6e9163099cbdf828759409.zip | |
rlCheckErrors (#1321)
* rlglCheckErrors
* rlglCheckErrors LOG_WARNING
* rename to rlCheckErrors; improve messages; revert core.c
Diffstat (limited to 'src/rlgl.h')
| -rw-r--r-- | src/rlgl.h | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -519,6 +519,7 @@ RLAPI unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *b RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states) RLAPI void rlglClose(void); // De-inititialize rlgl (buffers, shaders, textures) RLAPI void rlglDraw(void); // Update and draw default internal buffers +RLAPI void rlCheckErrors(void); // Check and log OpenGL error codes RLAPI int rlGetVersion(void); // Returns current OpenGL version RLAPI bool rlCheckBufferLimit(int vCount); // Check internal buffer overflow for a given number of vertex @@ -1794,6 +1795,45 @@ void rlglDraw(void) #endif } +// Check and log OpenGL error codes +void rlCheckErrors() { +#if defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + int check = 1; + while (check) { + const GLenum err = glGetError(); + switch (err) { + case GL_NO_ERROR: + check = 0; + break; + case 0x0500: // GL_INVALID_ENUM: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_ENUM"); + break; + case 0x0501: //GL_INVALID_VALUE: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_VALUE"); + break; + case 0x0502: //GL_INVALID_OPERATION: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_OPERATION"); + break; + case 0x0503: // GL_STACK_OVERFLOW: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_STACK_OVERFLOW"); + break; + case 0x0504: // GL_STACK_UNDERFLOW: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_STACK_UNDERFLOW"); + break; + case 0x0505: // GL_OUT_OF_MEMORY: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_OUT_OF_MEMORY"); + break; + case 0x0506: // GL_INVALID_FRAMEBUFFER_OPERATION: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_FRAMEBUFFER_OPERATION"); + break; + default: + TRACELOG(LOG_WARNING, "GL: Error detected: unknown error code %x", err); + break; + } + } +#endif +} + // Returns current OpenGL version int rlGetVersion(void) { |
