Mesa (master): mesa/main/ff_frag: Store nr_enabled_units only once.

Marek Olšák mareko at kemper.freedesktop.org
Sat Apr 8 20:08:03 UTC 2017


Module: Mesa
Branch: master
Commit: a86891a9a90d53cc0c333b28b45187cae9ee7bc4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a86891a9a90d53cc0c333b28b45187cae9ee7bc4

Author: Gustaw Smolarczyk <wielkiegie at gmail.com>
Date:   Thu Mar 30 20:09:26 2017 +0200

mesa/main/ff_frag: Store nr_enabled_units only once.

Signed-off-by: Gustaw Smolarczyk <wielkiegie at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 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 1b76f40e9a..717f39e9d3 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;




More information about the mesa-commit mailing list