Module: Mesa Branch: master Commit: 11bd753c4ece5eafa6fc7c416d25f60371758e1b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=11bd753c4ece5eafa6fc7c416d25f60371758e1b
Author: Jason Ekstrand <[email protected]> Date: Wed Aug 16 16:10:23 2017 -0700 spirv: Re-arrange vtn_builder initialization This simply moves allocating the vtn_builder and initializing it to the very beginning before we even parse the header. Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Ian Romanick <[email protected]> --- src/compiler/spirv/spirv_to_nir.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 353d99cc61..46ba005945 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -3319,6 +3319,13 @@ spirv_to_nir(const uint32_t *words, size_t word_count, const struct spirv_to_nir_options *options, const nir_shader_compiler_options *nir_options) { + /* Initialize the stn_builder object */ + struct vtn_builder *b = rzalloc(NULL, struct vtn_builder); + exec_list_make_empty(&b->functions); + b->entry_point_stage = stage; + b->entry_point_name = entry_point_name; + b->options = options; + const uint32_t *word_end = words + word_count; /* Handle the SPIR-V header (first 4 dwords) */ @@ -3332,14 +3339,8 @@ spirv_to_nir(const uint32_t *words, size_t word_count, words+= 5; - /* Initialize the stn_builder object */ - struct vtn_builder *b = rzalloc(NULL, struct vtn_builder); b->value_id_bound = value_id_bound; b->values = rzalloc_array(b, struct vtn_value, value_id_bound); - exec_list_make_empty(&b->functions); - b->entry_point_stage = stage; - b->entry_point_name = entry_point_name; - b->options = options; /* Handle all the preamble instructions */ words = vtn_foreach_instruction(b, words, word_end, _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
