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@amd.com>
This commit is contained in:
Marek Olšák 2019-11-01 22:09:23 -04:00
parent 60398e2d45
commit f71e93db0a

View file

@ -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);
}