diff --git a/opengl/libagl/state.cpp b/opengl/libagl/state.cpp index 8b4136a45..90e9612b8 100644 --- a/opengl/libagl/state.cpp +++ b/opengl/libagl/state.cpp @@ -191,6 +191,9 @@ static void enable_disable(ogles_context_t* c, GLenum cap, int enabled) // these need to fall through into the rasterizer c->rasterizer.procs.enableDisable(c, cap, enabled); break; + case GL_TEXTURE_EXTERNAL_OES: + c->rasterizer.procs.enableDisable(c, GL_TEXTURE_2D, enabled); + break; case GL_MULTISAMPLE: case GL_SAMPLE_ALPHA_TO_COVERAGE: diff --git a/opengl/libagl/texture.cpp b/opengl/libagl/texture.cpp index 8eb17c435..88e865124 100644 --- a/opengl/libagl/texture.cpp +++ b/opengl/libagl/texture.cpp @@ -633,7 +633,7 @@ void generateMipmap(ogles_context_t* c, GLint level) static void texParameterx( GLenum target, GLenum pname, GLfixed param, ogles_context_t* c) { - if (target != GL_TEXTURE_2D) { + if (target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES) { ogles_error(c, GL_INVALID_ENUM); return; } @@ -866,7 +866,7 @@ void glActiveTexture(GLenum texture) void glBindTexture(GLenum target, GLuint texture) { ogles_context_t* c = ogles_context_t::get(); - if (target != GL_TEXTURE_2D) { + if (target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES) { ogles_error(c, GL_INVALID_ENUM); return; } @@ -1012,7 +1012,7 @@ void glTexParameteriv( GLenum target, GLenum pname, const GLint* params) { ogles_context_t* c = ogles_context_t::get(); - if (target != GGL_TEXTURE_2D) { + if (target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES) { ogles_error(c, GL_INVALID_ENUM); return; } @@ -1605,7 +1605,7 @@ void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) { void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { ogles_context_t* c = ogles_context_t::get(); - if (target != GL_TEXTURE_2D) { + if (target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES) { ogles_error(c, GL_INVALID_ENUM); return; }