aboutsummaryrefslogtreecommitdiff
path: root/include/render
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2019-11-10 14:31:33 +0100
committerScott Anderson <scott@anderso.nz>2019-12-20 01:03:34 +0000
commit515679e4fed1c7c762a8c269fca09cbb195a4323 (patch)
tree04e4011d75869e07839c2783efaaf52655cb1dbd /include/render
parent774548696c0a5f3164a3ce5a85d893da6c3b18be (diff)
Refactor EGL/GL API loading
Remove glapi.sh code generation, replace it with hand-written loading code that checks extension strings before calling eglGetProcAddress. The GLES2 renderer still uses global state because of: - {PUSH,POP}_GLES2_DEBUG macros - wlr_gles2_texture_from_* taking a wlr_egl instead of the renderer
Diffstat (limited to 'include/render')
-rw-r--r--include/render/gles2.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/render/gles2.h b/include/render/gles2.h
index 7a629d69..817ec62d 100644
--- a/include/render/gles2.h
+++ b/include/render/gles2.h
@@ -14,6 +14,16 @@
#include <wlr/render/wlr_texture.h>
#include <wlr/util/log.h>
+struct wlr_gles2_procs {
+ PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES;
+ PFNGLDEBUGMESSAGECALLBACKKHRPROC glDebugMessageCallbackKHR;
+ PFNGLDEBUGMESSAGECONTROLKHRPROC glDebugMessageControlKHR;
+ PFNGLPOPDEBUGGROUPKHRPROC glPopDebugGroupKHR;
+ PFNGLPUSHDEBUGGROUPKHRPROC glPushDebugGroupKHR;
+};
+
+extern struct wlr_gles2_procs gles2_procs;
+
struct wlr_gles2_pixel_format {
enum wl_shm_format wl_format;
GLint gl_format, gl_type;
@@ -33,7 +43,6 @@ struct wlr_gles2_renderer {
struct wlr_renderer wlr_renderer;
struct wlr_egl *egl;
- const char *exts_str;
struct {
bool read_format_bgra_ext;