diff options
author | Brian Paul <[email protected]> | 2011-09-30 21:03:42 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-10-01 08:15:28 -0600 |
commit | 986a9bb1806174b70b756165ece555856a705dfb (patch) | |
tree | d1f4c5dad683adce1fe16d261e13dbf3a4c7bba2 /src/mesa/main | |
parent | 1f8f8aef7f30156bbd906be36cdda2e05d8b0a7f (diff) |
mesa: use loop in pop_texture_group() to restore 4 combiner terms
There's four combiner terms (not 3) with GL_NV_texture_env_combine4.
Use a loop to make the code a little more compact.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/attrib.c | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 6f427e008bd..82d7259d583 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -733,30 +733,19 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate) unit->Combine.ModeRGB); _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, unit->Combine.ModeA); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, - unit->Combine.SourceRGB[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, - unit->Combine.SourceRGB[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB, - unit->Combine.SourceRGB[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, - unit->Combine.SourceA[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA, - unit->Combine.SourceA[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_ALPHA, - unit->Combine.SourceA[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, - unit->Combine.OperandRGB[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, - unit->Combine.OperandRGB[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, - unit->Combine.OperandRGB[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, - unit->Combine.OperandA[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, - unit->Combine.OperandA[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_ALPHA, - unit->Combine.OperandA[2]); + { + GLuint i; + for (i = 0; i < MAX_COMBINER_TERMS; i++) { + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB + i, + unit->Combine.SourceRGB[i]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA + i, + unit->Combine.SourceA[i]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB + i, + unit->Combine.OperandRGB[i]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA + i, + unit->Combine.OperandA[i]); + } + } _mesa_TexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE, 1 << unit->Combine.ScaleShiftRGB); _mesa_TexEnvi(GL_TEXTURE_ENV, GL_ALPHA_SCALE, |