diff options
-rw-r--r-- | video/out/opengl/common.c | 12 | ||||
-rw-r--r-- | video/out/opengl/video.c | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/video/out/opengl/common.c b/video/out/opengl/common.c index 09d47d5e1c..21e749b9f3 100644 --- a/video/out/opengl/common.c +++ b/video/out/opengl/common.c @@ -154,14 +154,13 @@ static const struct gl_functions gl_functions[] = { // GL 2.1+ desktop only (and GLSL 120 shaders) { .ver_core = 210, - .provides = MPGL_CAP_ROW_LENGTH | MPGL_CAP_1D_TEX | MPGL_CAP_3D_TEX, + .provides = MPGL_CAP_ROW_LENGTH | MPGL_CAP_1D_TEX, .functions = (const struct gl_function[]) { DEF_FN(DrawBuffer), DEF_FN(GetTexLevelParameteriv), DEF_FN(MapBuffer), DEF_FN(ReadBuffer), DEF_FN(TexImage1D), - DEF_FN(TexImage3D), DEF_FN(UnmapBuffer), {0} }, @@ -188,6 +187,15 @@ static const struct gl_functions gl_functions[] = { {0} }, }, + { + .ver_core = 210, + .ver_es_core = 300, + .provides = MPGL_CAP_3D_TEX, + .functions = (const struct gl_function[]) { + DEF_FN(TexImage3D), + {0} + }, + }, // Useful for ES 2.0 { .ver_core = 110, diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index b7a4764c72..c7b945612e 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -644,8 +644,10 @@ void gl_video_set_lut3d(struct gl_video *p, struct lut3d *lut3d) return; } - if (!(gl->mpgl_caps & MPGL_CAP_3D_TEX)) + if (!(gl->mpgl_caps & MPGL_CAP_3D_TEX) || gl->es) { + MP_ERR(p, "16 bit fixed point 3D textures not available.\n"); return; + } if (!p->lut_3d_texture) gl->GenTextures(1, &p->lut_3d_texture); |