panfrost: Update supported job types

Remove a few that no longer exist, and rename IDVS helper to Malloc Vertex. The
distinction between Malloc Vertex jobs and regular Indexed Vertex jobs is that
the hardware allocates varying buffers dynamically for Malloc Vertex jobs.
Regular IDVS and even legacy tiler jobs are also supported where desired.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14935>
This commit is contained in:
Alyssa Rosenzweig 2022-02-02 18:43:32 -05:00 committed by Marge Bot
parent d70a48a706
commit 8c51b54bd1
2 changed files with 14 additions and 17 deletions

View file

@ -1287,21 +1287,21 @@ pandecode_dcd(const struct MALI_DRAW *p,
}
static void
pandecode_idvs_helper_job(const struct pandecode_mapped_memory *mem,
pandecode_malloc_vertex_job(const struct pandecode_mapped_memory *mem,
mali_ptr job, unsigned gpu_id)
{
struct mali_idvs_helper_job_packed *PANDECODE_PTR_VAR(p, mem, job);
struct mali_malloc_vertex_job_packed *PANDECODE_PTR_VAR(p, mem, job);
DUMP_SECTION(IDVS_HELPER_JOB, PRIMITIVE, p, "Primitive:\n");
DUMP_SECTION(IDVS_HELPER_JOB, COUNTS, p, "Counts:\n");
DUMP_SECTION(IDVS_HELPER_JOB, TILER, p, "Tiler:\n");
DUMP_SECTION(IDVS_HELPER_JOB, SCISSOR, p, "Scissor:\n");
DUMP_SECTION(IDVS_HELPER_JOB, PRIMITIVE_SIZE, p, "Primitive Size:\n");
DUMP_SECTION(IDVS_HELPER_JOB, INDICES, p, "Indices:\n");
DUMP_SECTION(MALLOC_VERTEX_JOB, PRIMITIVE, p, "Primitive:\n");
DUMP_SECTION(MALLOC_VERTEX_JOB, COUNTS, p, "Counts:\n");
DUMP_SECTION(MALLOC_VERTEX_JOB, TILER, p, "Tiler:\n");
DUMP_SECTION(MALLOC_VERTEX_JOB, SCISSOR, p, "Scissor:\n");
DUMP_SECTION(MALLOC_VERTEX_JOB, PRIMITIVE_SIZE, p, "Primitive Size:\n");
DUMP_SECTION(MALLOC_VERTEX_JOB, INDICES, p, "Indices:\n");
pan_section_unpack(p, IDVS_HELPER_JOB, DRAW, dcd);
pan_section_unpack(p, MALLOC_VERTEX_JOB, DRAW, dcd);
pan_section_unpack(p, IDVS_HELPER_JOB, TILER, tiler_ptr);
pan_section_unpack(p, MALLOC_VERTEX_JOB, TILER, tiler_ptr);
pandecode_log("Tiler Job Payload:\n");
pandecode_indent++;
if (tiler_ptr.address)
@ -1391,8 +1391,8 @@ GENX(pandecode_jc)(mali_ptr jc_gpu_va, unsigned gpu_id)
pandecode_compute_job(mem, jc_gpu_va, gpu_id);
break;
case MALI_JOB_TYPE_IDVS_HELPER:
pandecode_idvs_helper_job(mem, jc_gpu_va, gpu_id);
case MALI_JOB_TYPE_MALLOC_VERTEX:
pandecode_malloc_vertex_job(mem, jc_gpu_va, gpu_id);
break;
#endif

View file

@ -28,13 +28,10 @@
<value name="Write value" value="2"/>
<value name="Cache flush" value="3"/>
<value name="Compute" value="4"/>
<!--- Traditional vertex jobs removed in Valhall, use compute job -->
<value name="Geometry" value="6"/>
<value name="Tiler" value="7"/>
<value name="Fused" value="8"/>
<value name="Fragment" value="9"/>
<value name="Indexed vertex" value="10"/>
<value name="IDVS helper" value="11"/>
<value name="Malloc vertex" value="11"/>
</enum>
<enum name="Shader stage">
@ -1442,7 +1439,7 @@
<field name="Address" size="64" start="0:0" type="address"/>
</struct>
<aggregate name="IDVS Helper Job" size="384" align="128">
<aggregate name="Malloc Vertex Job" size="384" align="128">
<section name="Header" offset="0" type="Job Header"/>
<section name="Primitive" offset="32" type="Primitive"/>
<section name="Counts" offset="48" type="IDVS Counts"/>