From 6fd09356f0d8c3d823f33c27b5e40041468b94b8 Mon Sep 17 00:00:00 2001 From: notaz Date: Wed, 6 Feb 2013 03:46:20 +0200 Subject: [PATCH] gl: make surface and context readable by users used by PCSX gles plugin --- gl.c | 9 +++++++++ gl.h | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/gl.c b/gl.c index 44e0dd5..2ebb87c 100644 --- a/gl.c +++ b/gl.c @@ -10,6 +10,10 @@ static EGLDisplay edpy; static EGLSurface esfc; static EGLContext ectxt; +/* for external flips */ +void *gl_es_display; +void *gl_es_surface; + static int gl_have_error(const char *name) { GLenum e = glGetError(); @@ -119,6 +123,8 @@ int gl_init(void *display, void *window, int *quirks) if (gl_have_error("init")) goto out; + gl_es_display = (void *)edpy; + gl_es_surface = (void *)esfc; retval = 0; out: free(tmp_texture_mem); @@ -185,5 +191,8 @@ void gl_finish(void) eglTerminate(edpy); edpy = EGL_NO_DISPLAY; + gl_es_display = (void *)edpy; + gl_es_surface = (void *)esfc; + gl_platform_finish(); } diff --git a/gl.h b/gl.h index 83b9e41..f87afb0 100644 --- a/gl.h +++ b/gl.h @@ -4,6 +4,10 @@ int gl_init(void *display, void *window, int *quirks); int gl_flip(const void *fb, int w, int h); void gl_finish(void); +/* for external flips */ +extern void *gl_es_display; +extern void *gl_es_surface; + #else static __inline int gl_init(void *display, void *window, int *quirks) @@ -18,6 +22,9 @@ static __inline void gl_finish(void) { } +#define gl_es_display (void *)0 +#define gl_es_surface (void *)0 + #endif #define GL_QUIRK_ACTIVATE_RECREATE 1 -- 2.39.5