diff options
-rw-r--r-- | src/mesa/main/APIspec.xml | 5 | ||||
-rw-r--r-- | src/mesa/main/teximage.c | 20 |
2 files changed, 15 insertions, 10 deletions
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml index 7acade2ce11..1306ac7a971 100644 --- a/src/mesa/main/APIspec.xml +++ b/src/mesa/main/APIspec.xml @@ -3114,11 +3114,6 @@ <param name="target" type="GLenum"/> <param name="image" type="GLeglImageOES"/> </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> - </desc> </template> <template name="EGLImageTargetRenderbufferStorage"> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 27294ba8018..095db4ff9c1 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -28,7 +28,7 @@ * Texture image-related functions. */ - +#include <stdbool.h> #include "glheader.h" #include "bufferobj.h" #include "context.h" @@ -2670,13 +2670,23 @@ _mesa_EGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image) { struct gl_texture_object *texObj; struct gl_texture_image *texImage; + bool valid_target; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if ((target == GL_TEXTURE_2D && - !ctx->Extensions.OES_EGL_image) || - (target == GL_TEXTURE_EXTERNAL_OES && - !ctx->Extensions.OES_EGL_image_external)) { + switch (target) { + case GL_TEXTURE_2D: + valid_target = ctx->Extensions.OES_EGL_image; + break; + case GL_TEXTURE_EXTERNAL_OES: + valid_target = ctx->Extensions.OES_EGL_image_external; + break; + default: + valid_target = false; + break; + } + + if (!valid_target) { _mesa_error(ctx, GL_INVALID_ENUM, "glEGLImageTargetTexture2D(target=%d)", target); return; |