From b80ec33f3559e9a14d08f84c8e369a0dc81b46d7 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 24 Nov 2009 10:28:27 +0800 Subject: mesa/es: Fix GL_OES_texture_cube_map support. Unlike in OpenGL, GL_OES_texture_cube_map says that all coordinates are changed the same time by the token GL_TEXTURE_GEN_STR_OES, and the initial mode is GL_REFLECTION_MAP_OES. Signed-off-by: Chia-I Wu --- src/mesa/es/main/specials_es1.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/mesa/es/main/specials_es1.c') diff --git a/src/mesa/es/main/specials_es1.c b/src/mesa/es/main/specials_es1.c index 0ace2924b3..a4f14490f3 100644 --- a/src/mesa/es/main/specials_es1.c +++ b/src/mesa/es/main/specials_es1.c @@ -195,5 +195,19 @@ _es_GetString(GLenum name) void _mesa_initialize_context_extra(GLcontext *ctx) { - /* nothing here */ + GLuint i; + + /** + * GL_OES_texture_cube_map says + * "Initially all texture generation modes are set to REFLECTION_MAP_OES" + */ + for (i = 0; i < MAX_TEXTURE_UNITS; i++) { + struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; + texUnit->GenS.Mode = GL_REFLECTION_MAP_NV; + texUnit->GenT.Mode = GL_REFLECTION_MAP_NV; + texUnit->GenR.Mode = GL_REFLECTION_MAP_NV; + texUnit->GenS._ModeBit = TEXGEN_REFLECTION_MAP_NV; + texUnit->GenT._ModeBit = TEXGEN_REFLECTION_MAP_NV; + texUnit->GenR._ModeBit = TEXGEN_REFLECTION_MAP_NV; + } } -- cgit v1.2.3