aboutsummaryrefslogtreecommitdiff
path: root/src/core/gl_util.h
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-06-27 10:18:39 -0700
committer3gg <3gg@shellblade.net>2025-06-27 10:18:39 -0700
commitbd57f345ed9dbed1d81683e48199626de2ea9044 (patch)
tree4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /src/core/gl_util.h
parent9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff)
Restructure projectHEADmain
Diffstat (limited to 'src/core/gl_util.h')
-rw-r--r--src/core/gl_util.h45
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