diff options
author | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
commit | bd57f345ed9dbed1d81683e48199626de2ea9044 (patch) | |
tree | 4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /src/core/gl_util.h | |
parent | 9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff) |
Diffstat (limited to 'src/core/gl_util.h')
-rw-r--r-- | src/core/gl_util.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/core/gl_util.h b/src/core/gl_util.h new file mode 100644 index 0000000..d2d6e22 --- /dev/null +++ b/src/core/gl_util.h | |||
@@ -0,0 +1,45 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include <glad/glad.h> | ||
4 | #include <log/log.h> | ||
5 | |||
6 | #define GFX_GL_CONTEXT_PC 1 | ||
7 | #define GFX_GL_CONTEXT_ES 2 | ||
8 | |||
9 | #ifndef GFX_GL_CONTEXT | ||
10 | #define GFX_GL_CONTEXT GFX_GL_CONTEXT_PC | ||
11 | #endif // GFX_GL_CONTEXT | ||
12 | |||
13 | /// Log an error if an OpenGL has occurred. | ||
14 | #ifndef NDEBUG | ||
15 | #define ASSERT_GL \ | ||
16 | { \ | ||
17 | GLenum e = glGetError(); \ | ||
18 | switch (e) { \ | ||
19 | case GL_NO_ERROR: \ | ||
20 | break; \ | ||
21 | case GL_INVALID_ENUM: \ | ||
22 | LOGE("GL_INVALID_ENUM"); \ | ||
23 | break; \ | ||
24 | case GL_INVALID_VALUE: \ | ||
25 | LOGE("GL_INVALID_VALUE"); \ | ||
26 | break; \ | ||
27 | case GL_INVALID_OPERATION: \ | ||
28 | LOGE("GL_INVALID_OPERATION"); \ | ||
29 | break; \ | ||
30 | case GL_INVALID_FRAMEBUFFER_OPERATION: \ | ||
31 | LOGE("GL_INVALID_FRAMEBUFFER_OPERATION"); \ | ||
32 | break; \ | ||
33 | case GL_OUT_OF_MEMORY: \ | ||
34 | LOGE("GL_OUT_OF_MEMORY"); \ | ||
35 | break; \ | ||
36 | /*case GL_STACK_UNDERFLOW: LOGE("GL_STACK_UNDERFLOW");*/ \ | ||
37 | /*case GL_STACK_OVERFLOW: LOGE("GL_STACK_OVERFLOW");*/ \ | ||
38 | default: \ | ||
39 | LOGE("Unknown OpenGL error"); \ | ||
40 | break; \ | ||
41 | } \ | ||
42 | } | ||
43 | #else // Not NDEBUG. | ||
44 | #define ASSERT_GL | ||
45 | #endif | ||