diff options
author | Caio Marcelo de Oliveira Filho <[email protected]> | 2018-07-16 14:17:38 -0700 |
---|---|---|
committer | Caio Marcelo de Oliveira Filho <[email protected]> | 2018-07-18 08:29:51 -0700 |
commit | 8ec40824aefe33b014b715276dfdd6ea4edb262b (patch) | |
tree | c47e4500dc1cf9a21968678298737cdc5a726fc0 /src | |
parent | f836d799f9066adf58f3660626d7aa58c0c9b62e (diff) |
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/common/gen_batch_decoder.c | 10 |
1 files changed, 5 insertions, 5 deletions
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); |