From 2002e4d06e2627241cd4af88f65b54d2101ef151 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 6 Apr 2010 17:46:17 +0800 Subject: mesa: Add OES_EGL_image to extension list. --- src/mesa/drivers/dri/intel/intel_extensions.c | 4 ++++ src/mesa/es/main/specials_es1.c | 5 +++++ src/mesa/es/main/specials_es2.c | 5 +++++ src/mesa/main/extensions.c | 3 +++ src/mesa/main/fbobject.c | 6 ++++++ src/mesa/main/mtypes.h | 3 +++ src/mesa/main/teximage.c | 6 ++++++ src/mesa/state_tracker/st_extensions.c | 3 +++ 8 files changed, 35 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index a1aac699c9..9c2083873a 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -63,6 +63,7 @@ #define need_GL_ATI_envmap_bumpmap #define need_GL_NV_point_sprite #define need_GL_NV_vertex_program +#define need_GL_OES_EGL_image #define need_GL_VERSION_2_0 #define need_GL_VERSION_2_1 @@ -130,6 +131,9 @@ static const struct dri_extension card_extensions[] = { { "GL_NV_vertex_program", GL_NV_vertex_program_functions }, { "GL_NV_vertex_program1_1", NULL }, { "GL_SGIS_generate_mipmap", NULL }, +#if FEATURE_OES_EGL_image + { "GL_OES_EGL_image", GL_OES_EGL_image_functions }, +#endif { NULL, NULL } }; diff --git a/src/mesa/es/main/specials_es1.c b/src/mesa/es/main/specials_es1.c index c842007c22..92e24a03fe 100644 --- a/src/mesa/es/main/specials_es1.c +++ b/src/mesa/es/main/specials_es1.c @@ -153,6 +153,11 @@ make_extension_string(const GLcontext *ctx, char *str) if (ctx->Extensions.EXT_multi_draw_arrays) len += append_extension(&str, "GL_EXT_multi_draw_arrays"); +#if FEATURE_OES_EGL_image + if (ctx->Extensions.OES_EGL_image) + len += append_extension(&str, "GL_OES_EGL_image"); +#endif + return len; } diff --git a/src/mesa/es/main/specials_es2.c b/src/mesa/es/main/specials_es2.c index 10b4f25e0f..046cda6fc1 100644 --- a/src/mesa/es/main/specials_es2.c +++ b/src/mesa/es/main/specials_es2.c @@ -124,6 +124,11 @@ make_extension_string(const GLcontext *ctx, char *str) if (ctx->Extensions.EXT_multi_draw_arrays) len += append_extension(&str, "GL_EXT_multi_draw_arrays"); +#if FEATURE_OES_EGL_image + if (ctx->Extensions.OES_EGL_image) + len += append_extension(&str, "GL_OES_EGL_image"); +#endif + return len; } diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 5fa3f3b00b..208069c1db 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -197,6 +197,9 @@ static const struct { { ON, "GL_SGIS_texture_lod", F(SGIS_texture_lod) }, { ON, "GL_SUN_multi_draw_arrays", F(EXT_multi_draw_arrays) }, { OFF, "GL_S3_s3tc", F(S3_s3tc) }, +#if FEATURE_OES_EGL_image + { OFF, "GL_OES_EGL_image", F(OES_EGL_image) }, +#endif #if FEATURE_OES_draw_texture { OFF, "GL_OES_draw_texture", F(OES_draw_texture) }, #endif /* FEATURE_OES_draw_texture */ diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index e3e006bb94..8d44246618 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -1020,6 +1020,12 @@ _mesa_EGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!ctx->Extensions.OES_EGL_image) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glEGLImageTargetRenderbufferStorageOES(unsupported)"); + return; + } + if (target != GL_RENDERBUFFER) { _mesa_error(ctx, GL_INVALID_ENUM, "EGLImageTargetRenderbufferStorageOES"); return; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 889c4801af..688172a2c0 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2573,6 +2573,9 @@ struct gl_extensions GLboolean SGIS_texture_lod; GLboolean TDFX_texture_compression_FXT1; GLboolean S3_s3tc; +#if FEATURE_OES_EGL_image + GLboolean OES_EGL_image; +#endif #if FEATURE_OES_draw_texture GLboolean OES_draw_texture; #endif /* FEATURE_OES_draw_texture */ diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index d72e91b3a3..edb80b18e9 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2457,6 +2457,12 @@ _mesa_EGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); + if (!ctx->Extensions.OES_EGL_image) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glEGLImageTargetTexture2DOES(unsupported)"); + return; + } + if (target != GL_TEXTURE_2D) { _mesa_error(ctx, GL_INVALID_ENUM, "glEGLImageTargetTexture2D(target=%d)", target); diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index ae5e62bd6c..affb054866 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -210,6 +210,9 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.NV_vertex_program1_1 = GL_TRUE; #endif +#if FEATURE_OES_EGL_image + ctx->Extensions.OES_EGL_image = GL_TRUE; +#endif #if FEATURE_OES_draw_texture ctx->Extensions.OES_draw_texture = GL_TRUE; #endif -- cgit v1.2.3