diff options
author | Kristian Høgsberg <[email protected]> | 2010-04-24 19:18:35 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-04-28 14:04:49 -0400 |
commit | 08fae07f5246052dccdd89689e27dc8820a24ff7 (patch) | |
tree | 6a4d1763cc93928fec9a6cb52e577b4efe3b147b /src/mesa/main | |
parent | 7aae8a592a299abd881372d3a2850375c2bb8884 (diff) |
mesa: Handle GL_TEXTURE_GEN_STR_OES in _mesa_Enable()
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/APIspec.xml | 6 | ||||
-rw-r--r-- | src/mesa/main/enable.c | 28 | ||||
-rw-r--r-- | src/mesa/main/glheader.h | 6 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 1 |
4 files changed, 37 insertions, 4 deletions
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml index 7ed303dab00..17eece1bb43 100644 --- a/src/mesa/main/APIspec.xml +++ b/src/mesa/main/APIspec.xml @@ -3921,8 +3921,8 @@ <function name="ColorMask" template="ColorMask"/> <function name="DepthMask" template="DepthMask"/> - <function name="Disable" external="true" template="Disable"/> - <function name="Enable" external="true" template="Enable"/> + <function name="Disable" template="Disable"/> + <function name="Enable" template="Enable"/> <function name="Finish" template="Finish"/> <function name="Flush" template="Flush"/> @@ -3969,7 +3969,7 @@ <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> <function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/> - <function name="IsEnabled" external="true" template="IsEnabled"/> + <function name="IsEnabled" template="IsEnabled"/> <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/> <function name="DepthRangex" template="DepthRange" gltype="GLclampx"/> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index 72787226dc4..db30123c0fb 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 7f01d9f39bd..6d423eacee8 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 e5e099acc3c..9640b79ea7f 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) /*@}*/ |