diff options
-rw-r--r-- | src/mesa/main/texstate.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 9ee5c6974d..354336934a 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -612,6 +612,7 @@ update_ff_texture_state(struct gl_context *ctx, for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) { struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit]; GLuint texIndex; + bool complete; if (texUnit->Enabled == 0x0) continue; @@ -649,6 +650,7 @@ update_ff_texture_state(struct gl_context *ctx, * another unit, then the results of texture blending are * undefined." */ + complete = false; for (texIndex = 0; texIndex < NUM_TEXTURE_TARGETS; texIndex++) { if (texUnit->Enabled & (1 << texIndex)) { struct gl_texture_object *texObj = texUnit->CurrentTex[texIndex]; @@ -660,12 +662,13 @@ update_ff_texture_state(struct gl_context *ctx, } if (_mesa_is_texture_complete(texObj, sampler)) { _mesa_reference_texobj(&texUnit->_Current, texObj); + complete = true; break; } } } - if (texIndex == NUM_TEXTURE_TARGETS) + if (!complete) continue; /* if we get here, we know this texture unit is enabled */ |