Mesa (master): mesa: number of combiner terms to pop depends on GL_NV_texture_env_combine4
Brian Paul
brianp at kemper.freedesktop.org
Sat Oct 1 14:30:44 UTC 2011
Module: Mesa
Branch: master
Commit: dd9574d7a585bd470f2fe28f73e6d31430293dc9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd9574d7a585bd470f2fe28f73e6d31430293dc9
Author: Brian Paul <brianp at vmware.com>
Date: Sat Oct 1 08:27:46 2011 -0600
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. <sigh>
Note that GL_EXT_texture_env_combine is always supported so the first
three combiner terms are always accepted.
---
src/mesa/main/attrib.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index df7116e..e67957d 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,
More information about the mesa-commit
mailing list