From a86891a9a90d53cc0c333b28b45187cae9ee7bc4 Mon Sep 17 00:00:00 2001 From: Gustaw Smolarczyk Date: Thu, 30 Mar 2017 20:09:26 +0200 Subject: [PATCH] mesa/main/ff_frag: Store nr_enabled_units only once. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Gustaw Smolarczyk Signed-off-by: Marek Olšák --- src/mesa/main/ff_fragment_shader.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/ff_fragment_shader.cpp b/src/mesa/main/ff_fragment_shader.cpp index 1b76f40..717f39e9 100644 --- a/src/mesa/main/ff_fragment_shader.cpp +++ b/src/mesa/main/ff_fragment_shader.cpp @@ -396,8 +396,9 @@ static GLuint make_state_key( struct gl_context *ctx, struct state_key *key ) /* _NEW_TEXTURE_OBJECT */ mask = ctx->Texture._EnabledCoordUnits; + int i = -1; while (mask) { - const int i = u_bit_scan(&mask); + i = u_bit_scan(&mask); const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; const struct gl_texture_object *texObj = texUnit->_Current; const struct gl_tex_env_combine_state *comb = texUnit->_CurrentCombine; @@ -411,7 +412,6 @@ static GLuint make_state_key( struct gl_context *ctx, struct state_key *key ) format = _mesa_texture_base_format(texObj); key->unit[i].enabled = 1; - key->nr_enabled_units = i + 1; inputs_referenced |= VARYING_BIT_TEX(i); key->unit[i].source_index = _mesa_tex_target_to_index(ctx, @@ -441,6 +441,8 @@ static GLuint make_state_key( struct gl_context *ctx, struct state_key *key ) } } + key->nr_enabled_units = i + 1; + /* _NEW_LIGHT | _NEW_FOG */ if (texenv_doing_secondary_color(ctx)) { key->separate_specular = 1; -- 2.7.4