int pandecode_replay_jc(mali_ptr jc_gpu_va, bool bifrost);
#define MEMORY_PROP(obj, p) {\
- char *a = pointer_as_memory_reference(obj->p); \
- pandecode_prop("%s = %s", #p, a); \
- free(a); \
+ if (obj->p) { \
+ char *a = pointer_as_memory_reference(obj->p); \
+ pandecode_prop("%s = %s", #p, a); \
+ free(a); \
+ } \
}
#define DYN_MEMORY_PROP(obj, no, p) { \
32) + 1);
/* TODO: Decode */
- pandecode_prop("unknown_draw = 0x%" PRIx32, p->unknown_draw);
+ if (p->unknown_draw)
+ pandecode_prop("unknown_draw = 0x%" PRIx32, p->unknown_draw);
+
pandecode_prop("workgroups_x_shift_3 = 0x%" PRIx32, p->workgroups_x_shift_3);
pandecode_prop("draw_mode = %s", pandecode_draw_mode_name(p->draw_mode));
if (p->index_count)
pandecode_prop("index_count = MALI_POSITIVE(%" PRId32 ")", p->index_count + 1);
- pandecode_prop("negative_start = %d", p->negative_start);
+ if (p->negative_start)
+ pandecode_prop("negative_start = %d", p->negative_start);
DYN_MEMORY_PROP(p, job_no, indices);
static void
pandecode_replay_primitive_size(union midgard_primitive_size u, bool constant)
{
+ if (u.pointer == 0x0)
+ return;
+
pandecode_log(".primitive_size = {\n");
pandecode_indent++;
pandecode_replay_vertex_tiler_prefix(&v->prefix, job_no);
pandecode_replay_gl_enables(v->gl_enables, h->job_type);
- pandecode_prop("draw_start = %d", v->draw_start);
+
+ if (v->draw_start)
+ pandecode_prop("draw_start = %d", v->draw_start);
#ifndef __LP64__