From 33899b7c351fda77bed6dee5e5d02e31c2f7e0e5 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Sat, 16 Oct 2004 01:16:54 +0000 Subject: Add support for OES_read_format. As soon as glext.h is updated with the enums for this extension, the changes to gl.h can be removed. --- src/mesa/main/context.c | 3 +++ src/mesa/main/extensions.c | 1 + src/mesa/main/get.c | 28 ++++++++++++++++++++++++++++ src/mesa/main/mtypes.h | 4 ++++ 4 files changed, 36 insertions(+) (limited to 'src') diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 44e3fcb9ad..f90751fd09 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -1114,6 +1114,9 @@ _mesa_init_constants( GLcontext *ctx ) ctx->Const.MaxDrawBuffers = MAX_DRAW_BUFFERS; + ctx->Const.ColorReadFormat = GL_RGBA; + ctx->Const.ColorReadType = GL_UNSIGNED_BYTE; + /* sanity checks */ ASSERT(ctx->Const.MaxTextureUnits == MAX2(ctx->Const.MaxTextureImageUnits, ctx->Const.MaxTextureCoordUnits)); } diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index a8003116fa..11c7ae5538 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -141,6 +141,7 @@ static const struct { { ON, "GL_NV_texgen_reflection", F(NV_texgen_reflection) }, { OFF, "GL_NV_vertex_program", F(NV_vertex_program) }, { OFF, "GL_NV_vertex_program1_1", F(NV_vertex_program1_1) }, + { ON, "GL_OES_read_format", F(OES_read_format) }, { OFF, "GL_SGI_color_matrix", F(SGI_color_matrix) }, { OFF, "GL_SGI_color_table", F(SGI_color_table) }, { OFF, "GL_SGI_texture_color_table", F(SGI_texture_color_table) }, diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 6eac604ea5..646e6ac20f 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1723,6 +1723,13 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) } break; + case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: + *params = INT_TO_BOOL(ctx->Const.ColorReadType); + return; + case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: + *params = INT_TO_BOOL(ctx->Const.ColorReadFormat); + return; + default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv(pname=0x%x)", pname); } @@ -3317,6 +3324,13 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) } break; + case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: + *params = (GLdouble) ctx->Const.ColorReadType; + return; + case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: + *params = (GLdouble) ctx->Const.ColorReadFormat; + return; + default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetDoublev(pname=0x%x)", pname); } @@ -4887,6 +4901,13 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) } break; + case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: + *params = (GLfloat) ctx->Const.ColorReadType; + return; + case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: + *params = (GLfloat) ctx->Const.ColorReadFormat; + return; + default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetFloatv(0x%x)", pname); } @@ -6495,6 +6516,13 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) } break; + case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: + *params = ctx->Const.ColorReadType; + return; + case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: + *params = ctx->Const.ColorReadFormat; + return; + default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv(pname=0x%x)", pname); } diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 4086ef94be..37b940dea9 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1913,6 +1913,9 @@ struct gl_constants GLboolean CheckArrayBounds; /* GL_ARB_draw_buffers */ GLuint MaxDrawBuffers; + /* GL_OES_read_format */ + GLenum ColorReadFormat; + GLenum ColorReadType; }; @@ -2015,6 +2018,7 @@ struct gl_extensions GLboolean NV_texture_rectangle; GLboolean NV_vertex_program; GLboolean NV_vertex_program1_1; + GLboolean OES_read_format; GLboolean SGI_color_matrix; GLboolean SGI_color_table; GLboolean SGI_texture_color_table; -- cgit v1.2.3