1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-11 08:37:59 +00:00

Enable building the opengl-cb video renderer on Android

* Add Android-specific OpenGL ES feature and checks
* Add missing GL_* symbols for Android
  (list gathered by Ilya Zhuravlev <whatever@xyz.is>)
This commit is contained in:
Jan Ekström 2016-02-08 23:06:51 +02:00 committed by wm4
parent ff0112e08d
commit 4b97869e5f
3 changed files with 44 additions and 3 deletions

View File

@ -36,6 +36,8 @@
#include <OpenGL/gl.h> #include <OpenGL/gl.h>
#include <OpenGL/gl3.h> #include <OpenGL/gl3.h>
#include <OpenGL/glext.h> #include <OpenGL/glext.h>
#elif HAVE_ANDROID_GL
#include <GLES3/gl3.h>
#else #else
#include <GL/gl.h> #include <GL/gl.h>
#include <GL/glext.h> #include <GL/glext.h>

View File

@ -62,6 +62,30 @@
#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
#endif #endif
#if HAVE_ANDROID_GL
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#define GL_RGB_422_APPLE 0x8A1F
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
#define GL_TEXTURE_1D 0x0DE0
#define GL_WRITE_ONLY 0x88B9
#define GL_RGB16 0x8054
#define GL_RGB10 0x8052
#define GL_RGBA12 0x805A
#define GL_RGBA16 0x805B
#define GL_TEXTURE_RED_SIZE 0x805C
#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
#define GL_R16 0x822A
#define GL_RG16 0x822C
#define GL_LUMINANCE16 0x8042
#define GL_LUMINANCE16_ALPHA16 0x8048
#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
#endif
#undef MP_GET_GL_WORKAROUNDS #undef MP_GET_GL_WORKAROUNDS
#endif // MP_GET_GL_WORKAROUNDS #endif // MP_GET_GL_WORKAROUNDS

21
wscript
View File

@ -767,13 +767,28 @@ video_output_features = [
check_statement('GL/gl.h', '(void)GL_LUMINANCE16') # arbitrary OpenGL legacy-only symbol check_statement('GL/gl.h', '(void)GL_LUMINANCE16') # arbitrary OpenGL legacy-only symbol
), ),
}, { }, {
'name': '--plain-gl', 'name': '--desktop-gl',
'desc': 'OpenGL without platform-specific code (e.g. for libmpv)', 'desc': 'Desktop OpengGL support',
'deps_any': [ 'libmpv-shared', 'libmpv-static' ],
'func': compose_checks( 'func': compose_checks(
check_statement('GL/gl.h', '(void)GL_RGB32F'), # arbitrary OpenGL 3.0 symbol check_statement('GL/gl.h', '(void)GL_RGB32F'), # arbitrary OpenGL 3.0 symbol
check_statement('GL/gl.h', '(void)GL_LUMINANCE16') # arbitrary OpenGL legacy-only symbol check_statement('GL/gl.h', '(void)GL_LUMINANCE16') # arbitrary OpenGL legacy-only symbol
), ),
} , {
'name': '--android-gl',
'desc': 'Android OpenGL ES support',
'deps': ['android'],
'func': check_statement('GLES3/gl3.h', '(void)GL_RGB32F'), # arbitrary OpenGL ES 3.0 symbol
} , {
'name': '--any-gl',
'desc': 'Any OpenGL (ES) support',
'deps_any': ['desktop-gl', 'android-gl'],
'func': check_true
} , {
'name': '--plain-gl',
'desc': 'OpenGL without platform-specific code (e.g. for libmpv)',
'deps': ['any-gl'],
'deps_any': [ 'libmpv-shared', 'libmpv-static' ],
'func': check_true,
} , { } , {
'name': '--gl', 'name': '--gl',
'desc': 'OpenGL video outputs', 'desc': 'OpenGL video outputs',