From: Caio Marcelo de Oliveira Filho Date: Mon, 16 Jul 2018 21:17:38 +0000 (-0700) Subject: intel/batch-decoder: fix uninitialized values warnings X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8ec40824aefe33b014b715276dfdd6ea4edb262b;p=mesa.git intel/batch-decoder: fix uninitialized values warnings Code assumes that all the necessary fields will exist, but compiler doesn't know about this. Provide zero as default values, like in other decoding functions. Fixes warnings ../../src/intel/common/gen_batch_decoder.c: In function ‘handle_media_interface_descriptor_load’: ../../src/intel/common/gen_batch_decoder.c:347:7: warning: ‘binding_entry_count’ may be used uninitialized in this function [-Wmaybe-uninitialized] dump_binding_table(ctx, binding_table_offset, binding_entry_count); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/intel/common/gen_batch_decoder.c:347:7: warning: ‘binding_table_offset’ may be used uninitialized in this function [-Wmaybe-uninitialized] ../../src/intel/common/gen_batch_decoder.c:346:7: warning: ‘sampler_count’ may be used uninitialized in this function [-Wmaybe-uninitialized] dump_samplers(ctx, sampler_offset, sampler_count); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/intel/common/gen_batch_decoder.c:346:7: warning: ‘sampler_offset’ may be used uninitialized in this function [-Wmaybe-uninitialized] ../../src/intel/common/gen_batch_decoder.c:343:7: warning: ‘ksp’ may be used uninitialized in this function [-Wmaybe-uninitialized] ctx_disassemble_program(ctx, ksp, "compute shader"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/intel/common/gen_batch_decoder.c: In function ‘decode_dynamic_state_pointers’: ../../src/intel/common/gen_batch_decoder.c:663:54: warning: ‘state_offset’ may be used uninitialized in this function [-Wmaybe-uninitialized] const uint32_t *state_map = ctx->dynamic_base.map + state_offset; ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ../../src/intel/common/gen_batch_decoder.c: In function ‘gen_print_batch’: ../../src/intel/common/gen_batch_decoder.c:856:13: warning: ‘next_batch.map’ may be used uninitialized in this function [-Wmaybe-uninitialized] if (next_batch.map == NULL) { ^ ../../src/intel/common/gen_batch_decoder.c:860:13: warning: ‘next_batch.addr’ may be used uninitialized in this function [-Wmaybe-uninitialized] gen_print_batch(ctx, next_batch.map, next_batch.size, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ next_batch.addr); ~~~~~~~~~~~~~~~~ Reviewed-by: Anuj Phogat --- diff --git a/src/intel/common/gen_batch_decoder.c b/src/intel/common/gen_batch_decoder.c index fe7536da9ec..727cbb80cfb 100644 --- a/src/intel/common/gen_batch_decoder.c +++ b/src/intel/common/gen_batch_decoder.c @@ -323,9 +323,9 @@ handle_media_interface_descriptor_load(struct gen_batch_decode_ctx *ctx, ctx_print_group(ctx, desc, desc_addr, desc_map); gen_field_iterator_init(&iter, desc, desc_map, 0, false); - uint64_t ksp; - uint32_t sampler_offset, sampler_count; - uint32_t binding_table_offset, binding_entry_count; + uint64_t ksp = 0; + uint32_t sampler_offset = 0, sampler_count = 0; + uint32_t binding_table_offset = 0, binding_entry_count = 0; while (gen_field_iterator_next(&iter)) { if (strcmp(iter.name, "Kernel Start Pointer") == 0) { ksp = strtoll(iter.value, NULL, 16); @@ -648,7 +648,7 @@ decode_dynamic_state_pointers(struct gen_batch_decode_ctx *ctx, struct gen_group *inst = gen_spec_find_instruction(ctx->spec, p); struct gen_group *state = gen_spec_find_struct(ctx->spec, struct_type); - uint32_t state_offset; + uint32_t state_offset = 0; struct gen_field_iterator iter; gen_field_iterator_init(&iter, inst, p, 0, false); @@ -841,7 +841,7 @@ gen_print_batch(struct gen_batch_decode_ctx *ctx, } if (strcmp(inst_name, "MI_BATCH_BUFFER_START") == 0) { - struct gen_batch_decode_bo next_batch; + struct gen_batch_decode_bo next_batch = {}; bool second_level; struct gen_field_iterator iter; gen_field_iterator_init(&iter, inst, p, 0, false);