Mesa (master): st/mesa: initialize affected_states and uniform storage earlier in deserialize

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Nov 19 23:02:36 UTC 2019


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Nov  1 22:09:23 2019 -0400

st/mesa: initialize affected_states and uniform storage earlier in deserialize

This matches the uncached codepath.

affected_states was used before initialization, which was technically
a bug, but probably not reproducible due to _NEW_PROGRAM rebinding
everything.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>

---

 src/mesa/state_tracker/st_shader_cache.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c
index 1d544470a94..5cd969f3fe5 100644
--- a/src/mesa/state_tracker/st_shader_cache.c
+++ b/src/mesa/state_tracker/st_shader_cache.c
@@ -182,6 +182,9 @@ st_deserialise_ir_program(struct gl_context *ctx,
    const struct nir_shader_compiler_options *options =
       ctx->Const.ShaderCompilerOptions[prog->info.stage].NirOptions;
 
+   st_set_prog_affected_state_flags(prog);
+   _mesa_associate_uniform_storage(ctx, shProg, prog);
+
    assert(prog->driver_cache_blob && prog->driver_cache_blob_size > 0);
 
    struct blob_reader blob_reader;
@@ -267,9 +270,6 @@ st_deserialise_ir_program(struct gl_context *ctx,
       }
    }
 
-   st_set_prog_affected_state_flags(prog);
-   _mesa_associate_uniform_storage(ctx, shProg, prog);
-
    st_finalize_program(st, prog);
 }
 




More information about the mesa-commit mailing list