X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fpanfrost%2Flib%2Fdecode.c;h=fcfc590745181f1818dd647641dc82a618b765c6;hb=7a95ed2ecf4883bb637dc865aeb28ff393480ecc;hp=6b2e71ae12bd67ec0cb8e6ed9b639c2d7c7c078f;hpb=1574866233ad20958f96c76feec18346642ca9ab;p=mesa.git diff --git a/src/panfrost/lib/decode.c b/src/panfrost/lib/decode.c index 6b2e71ae12b..fcfc5907451 100644 --- a/src/panfrost/lib/decode.c +++ b/src/panfrost/lib/decode.c @@ -1731,6 +1731,7 @@ pandecode_vertex_tiler_postfix_pre( struct MALI_MIDGARD_PROPERTIES midg_props; struct MALI_BIFROST_PROPERTIES bi_props; + struct MALI_PRELOAD bi_preload; pandecode_log("struct mali_shader_meta shader_meta_%"PRIx64"_%d%s = {\n", p->shader, job_no, suffix); pandecode_indent++; @@ -1745,7 +1746,10 @@ pandecode_vertex_tiler_postfix_pre( uint32_t opaque = s->bifrost_props.opaque[0]; MALI_BIFROST_PROPERTIES_unpack((const uint8_t *) &opaque, &bi_props); - uniform_count = s->bifrost2.uniform_count; + opaque = s->bifrost_preload.opaque[0]; + MALI_PRELOAD_unpack((const uint8_t *) &opaque, &bi_preload); + + uniform_count = bi_preload.uniform_count; uniform_buffer_count = bi_props.uniform_buffer_count; } else { uint32_t opaque = s->midgard_props.opaque[0]; @@ -1767,6 +1771,24 @@ pandecode_vertex_tiler_postfix_pre( else MALI_MIDGARD_PROPERTIES_print(pandecode_dump_stream, &midg_props, 2); + if (is_bifrost) { + uint32_t opaque = s->bifrost_preload.opaque[0]; + switch (job_type) { + case MALI_JOB_TYPE_VERTEX: + DUMP_CL("Preload", PRELOAD_VERTEX, &opaque, 2); + break; + case MALI_JOB_TYPE_TILER: + DUMP_CL("Preload", PRELOAD_FRAGMENT, &opaque, 2); + break; + case MALI_JOB_TYPE_COMPUTE: + DUMP_CL("Preload", PRELOAD_COMPUTE, &opaque, 2); + break; + default: + DUMP_CL("Preload", PRELOAD, &opaque, 2); + break; + } + } + if (s->depth_units || s->depth_factor) { pandecode_prop("depth_factor = %f", s->depth_factor); pandecode_prop("depth_units = %f", s->depth_units); @@ -1809,18 +1831,7 @@ pandecode_vertex_tiler_postfix_pre( DUMP_CL("Stencil front", STENCIL, &s->stencil_front, 1); DUMP_CL("Stencil back", STENCIL, &s->stencil_back, 1); - if (is_bifrost) { - pandecode_log(".bifrost2 = {\n"); - pandecode_indent++; - - pandecode_prop("unk3 = 0x%" PRIx32, s->bifrost2.unk3); - pandecode_prop("preload_regs = 0x%" PRIx32, s->bifrost2.preload_regs); - pandecode_prop("uniform_count = %" PRId32, s->bifrost2.uniform_count); - pandecode_prop("unk4 = 0x%" PRIx32, s->bifrost2.unk4); - - pandecode_indent--; - pandecode_log("},\n"); - } else if (s->midgard2.unknown2_7) { + if (!is_bifrost && s->midgard2.unknown2_7) { pandecode_log(".midgard2 = {\n"); pandecode_indent++;