diff --git a/src/panfrost/lib/genxml/decode.c b/src/panfrost/lib/genxml/decode.c index dce30329d28..0d4776062e4 100644 --- a/src/panfrost/lib/genxml/decode.c +++ b/src/panfrost/lib/genxml/decode.c @@ -1216,6 +1216,23 @@ pandecode_depth_stencil(mali_ptr addr) DUMP_UNPACKED(DEPTH_STENCIL, desc, "Depth/stencil"); } +static void +pandecode_shader_environment(const struct MALI_SHADER_ENVIRONMENT *p, + unsigned gpu_id) +{ + if (p->shader) + pandecode_shader(p->shader, "Shader", gpu_id); + + if (p->resources) + pandecode_resource_tables(p->resources, "Resources"); + + if (p->thread_storage) + pandecode_local_storage(p->thread_storage, 0); + + if (p->fau) + dump_fau(p->fau, p->fau_count, "FAU"); +} + static void pandecode_dcd(const struct MALI_DRAW *p, int job_no, enum mali_job_type job_type, @@ -1223,15 +1240,6 @@ pandecode_dcd(const struct MALI_DRAW *p, { mali_ptr frag_shader = 0; - if (p->fragment.shader) - pandecode_shader(p->fragment.shader, "Fragment", gpu_id); - - if (p->varying.shader) - pandecode_shader(p->varying.shader, "Varying", gpu_id); - - if (p->position.shader) - pandecode_shader(p->position.shader, "Position", gpu_id); - pandecode_depth_stencil(p->depth_stencil); for (unsigned i = 0; i < p->blend_count; ++i) { @@ -1247,27 +1255,7 @@ pandecode_dcd(const struct MALI_DRAW *p, } } - if (p->fragment.resources) - pandecode_resource_tables(p->fragment.resources, "Fragment resources"); - if (p->fragment.thread_storage) - pandecode_local_storage(p->fragment.thread_storage, 0); - if (p->fragment.fau) - dump_fau(p->fragment.fau, p->fragment.fau_count, "Fragment FAU"); - - if (p->position.resources) - pandecode_resource_tables(p->position.resources, "Position resources"); - if (p->position.thread_storage) - pandecode_local_storage(p->position.thread_storage, 0); - if (p->position.fau) - dump_fau(p->position.fau, p->position.fau_count, "Position FAU"); - - if (p->varying.resources) - pandecode_resource_tables(p->varying.resources, "Varying resources"); - if (p->varying.thread_storage) - pandecode_local_storage(p->varying.thread_storage, 0); - if (p->varying.fau) - dump_fau(p->varying.fau, p->varying.fau_count, "Varying FAU"); - + pandecode_shader_environment(&p->shader, gpu_id); DUMP_UNPACKED(DRAW, *p, "Draw:\n"); } @@ -1296,6 +1284,11 @@ pandecode_malloc_vertex_job(const struct pandecode_mapped_memory *mem, pandecode_indent--; pandecode_dcd(&dcd, 0, 0, NULL, gpu_id); + + pan_section_unpack(p, MALLOC_VERTEX_JOB, POSITION, position); + pan_section_unpack(p, MALLOC_VERTEX_JOB, VARYING, varying); + pandecode_shader_environment(&position, gpu_id); + pandecode_shader_environment(&varying, gpu_id); } static void diff --git a/src/panfrost/lib/genxml/v9.xml b/src/panfrost/lib/genxml/v9.xml index da736a078e9..6e4e58dd3bc 100644 --- a/src/panfrost/lib/genxml/v9.xml +++ b/src/panfrost/lib/genxml/v9.xml @@ -1350,7 +1350,7 @@ - + @@ -1380,10 +1380,7 @@ - - - - + @@ -1415,5 +1412,7 @@
+
+