diff options
author | Simon Ser <contact@emersion.fr> | 2019-11-10 14:31:33 +0100 |
---|---|---|
committer | Scott Anderson <scott@anderso.nz> | 2019-12-20 01:03:34 +0000 |
commit | 515679e4fed1c7c762a8c269fca09cbb195a4323 (patch) | |
tree | 04e4011d75869e07839c2783efaaf52655cb1dbd /include/render | |
parent | 774548696c0a5f3164a3ce5a85d893da6c3b18be (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.h | 11 |
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; |