From: Brian Paul Date: Sat, 1 Oct 2011 14:27:46 +0000 (-0600) Subject: mesa: number of combiner terms to pop depends on GL_NV_texture_env_combine4 X-Git-Tag: android-x86-4.4-r1~9588 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=dd9574d7a585bd470f2fe28f73e6d31430293dc9;p=android-x86%2Fexternal-mesa.git mesa: number of combiner terms to pop depends on GL_NV_texture_env_combine4 If GL_NV_texture_env_combine4 is not supported, setting the fourth combiner term would generate a GL error. Of course, I noticed this right after committing the previous patch to use a loop in the first place. Note that GL_EXT_texture_env_combine is always supported so the first three combiner terms are always accepted. --- diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index df7116eec1e..e67957d4d18 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -720,8 +720,9 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate) _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, unit->Combine.ModeA); { + const GLuint n = ctx->Extensions.NV_texture_env_combine4 ? 4 : 3; GLuint i; - for (i = 0; i < MAX_COMBINER_TERMS; i++) { + for (i = 0; i < n; i++) { _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB + i, unit->Combine.SourceRGB[i]); _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA + i,