From c0e136cdfe4c01c0299593861820bb74828880fa Mon Sep 17 00:00:00 2001 From: Mis012 Date: Wed, 2 Nov 2022 16:28:08 +0100 Subject: [PATCH] src/api-impl-jni/widgets/android_opengl_GLSurfaceView.c: handle missing glEGLImageTargetTexture2DOES export on some builds of Mesa --- .../widgets/android_opengl_GLSurfaceView.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/api-impl-jni/widgets/android_opengl_GLSurfaceView.c b/src/api-impl-jni/widgets/android_opengl_GLSurfaceView.c index 173f654b..a8fcc5e4 100644 --- a/src/api-impl-jni/widgets/android_opengl_GLSurfaceView.c +++ b/src/api-impl-jni/widgets/android_opengl_GLSurfaceView.c @@ -16,6 +16,24 @@ #include "../generated_headers/android_opengl_GLSurfaceView.h" +// for whatever reason, some Mesa builds don't export the OES function (which we use in order to have GLESv1 support) +GL_APICALL void GL_APIENTRY _glEGLImageTargetTexture2DOES_load(GLenum target, GLeglImageOES image); +static PFNGLEGLIMAGETARGETTEXTURE2DOESPROC _glEGLImageTargetTexture2DOES = &_glEGLImageTargetTexture2DOES_load; + +GL_APICALL void GL_APIENTRY _glEGLImageTargetTexture2DOES_load(GLenum target, GLeglImageOES image) +{ + _glEGLImageTargetTexture2DOES = + (PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)eglGetProcAddress("glEGLImageTargetTexture2DOES"); + + _glEGLImageTargetTexture2DOES(target, image); +} + +GL_APICALL void GL_APIENTRY __attribute__((weak)) glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) +{ + _glEGLImageTargetTexture2DOES(target, image); +} +// end of OES workaround + //#define FIXME__WIDTH 540 //#define FIXME__HEIGHT 960