From 08fae07f5246052dccdd89689e27dc8820a24ff7 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Sat, 24 Apr 2010 19:18:35 -0400 Subject: mesa: Handle GL_TEXTURE_GEN_STR_OES in _mesa_Enable() --- src/mesa/main/APIspec.xml | 6 +++--- src/mesa/main/enable.c | 28 ++++++++++++++++++++++++++++ src/mesa/main/glheader.h | 6 +++++- src/mesa/main/mtypes.h | 1 + 4 files changed, 37 insertions(+), 4 deletions(-) (limited to 'src/mesa/main') diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml index 7ed303dab0..17eece1bb4 100644 --- a/src/mesa/main/APIspec.xml +++ b/src/mesa/main/APIspec.xml @@ -3921,8 +3921,8 @@ - - + + @@ -3969,7 +3969,7 @@ - + diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index 72787226dc..db30123c0f 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -682,6 +682,25 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) } break; +#if FEATURE_ES1 + case GL_TEXTURE_GEN_STR_OES: + /* disable S, T, and R at the same time */ + { + struct gl_texture_unit *texUnit = get_texcoord_unit(ctx); + if (texUnit) { + GLuint newenabled = + texUnit->TexGenEnabled & ~STR_BITS; + if (state) + newenabled |= STR_BITS; + if (texUnit->TexGenEnabled == newenabled) + return; + FLUSH_VERTICES(ctx, _NEW_TEXTURE); + texUnit->TexGenEnabled = newenabled; + } + } + break; +#endif + /* * CLIENT STATE!!! */ @@ -1301,6 +1320,15 @@ _mesa_IsEnabled( GLenum cap ) } } return GL_FALSE; +#if FEATURE_ES1 + case GL_TEXTURE_GEN_STR_OES: + { + const struct gl_texture_unit *texUnit = get_texcoord_unit(ctx); + if (texUnit) { + return (texUnit->TexGenEnabled & STR_BITS) == STR_BITS ? GL_TRUE : GL_FALSE; + } + } +#endif /* * CLIENT STATE!!! diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h index 7f01d9f39b..6d423eacee 100644 --- a/src/mesa/main/glheader.h +++ b/src/mesa/main/glheader.h @@ -85,11 +85,15 @@ typedef void *GLeglImageOES; #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 #endif -/* GLES 2.0 token */ +/* GLES 2.0 tokens */ #ifndef GL_RGB565 #define GL_RGB565 0x8D62 #endif +#ifndef GL_TEXTURE_GEN_STR_OES +#define GL_TEXTURE_GEN_STR_OES 0x8D60 +#endif + /** * Special, internal token */ diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index e5e099acc3..9640b79ea7 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1076,6 +1076,7 @@ typedef enum #define T_BIT 2 #define R_BIT 4 #define Q_BIT 8 +#define STR_BITS (S_BIT | T_BIT | R_BIT) /*@}*/ -- cgit v1.2.3