panfrost: Fix draw descriptor definition
Move the 2 words padding out of the draw descriptor to fix Midgard tiler job decoding. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7921>
This commit is contained in:
@@ -154,6 +154,8 @@ panfrost_launch_grid(struct pipe_context *pipe,
|
||||
PIPE_SHADER_COMPUTE);
|
||||
}
|
||||
|
||||
pan_section_pack(t.cpu, COMPUTE_JOB, DRAW_PADDING, cfg);
|
||||
|
||||
panfrost_add_job(&batch->pool, &batch->scoreboard,
|
||||
MALI_JOB_TYPE_COMPUTE, true, 0, &t, true);
|
||||
panfrost_flush_all_batches(ctx, 0);
|
||||
|
||||
@@ -308,6 +308,8 @@ panfrost_draw_emit_vertex(struct panfrost_batch *batch,
|
||||
cfg.thread_storage = shared_mem;
|
||||
pan_emit_draw_descs(batch, &cfg, PIPE_SHADER_VERTEX);
|
||||
}
|
||||
|
||||
pan_section_pack(job, COMPUTE_JOB, DRAW_PADDING, cfg);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -420,6 +422,8 @@ panfrost_draw_emit_tiler(struct panfrost_batch *batch,
|
||||
|
||||
if (!is_bifrost)
|
||||
panfrost_emit_primitive_size(ctx, points, psiz, prim_size);
|
||||
else
|
||||
pan_section_pack(job, BIFROST_TILER_JOB, DRAW_PADDING, cfg);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -618,7 +618,7 @@
|
||||
<field name="Indices" size="64" start="4:0" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="Draw" size="32">
|
||||
<struct name="Draw" size="30">
|
||||
<field name="Four Components Per Vertex" size="1" start="0:0" type="bool"/>
|
||||
<field name="Draw Descriptor Is 64b" size="1" start="0:1" type="bool"/>
|
||||
<field name="Texture Descriptor Is 64b" size="1" start="0:2" type="bool"/>
|
||||
@@ -650,6 +650,9 @@
|
||||
<field name="FBD" size="64" start="28:0" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="Draw Padding" size="2">
|
||||
</struct>
|
||||
|
||||
<struct name="Midgard Sampler">
|
||||
<field name="Magnify Nearest" size="1" start="0" type="bool" default="true"/>
|
||||
<field name="Minify Nearest" size="1" start="1" type="bool" default="true"/>
|
||||
@@ -1486,6 +1489,7 @@
|
||||
<section name="Invocation" offset="32" type="Invocation"/>
|
||||
<section name="Parameters" offset="40" type="Compute Job Parameters"/>
|
||||
<section name="Draw" offset="64" type="Draw"/>
|
||||
<section name="Draw Padding" offset="184" type="Draw Padding"/>
|
||||
</aggregate>
|
||||
|
||||
<struct name="Primitive Size">
|
||||
@@ -1512,5 +1516,6 @@
|
||||
<section name="Tiler" offset="72" type="Bifrost Tiler Pointer"/>
|
||||
<section name="Padding" offset="80" type="Bifrost Tiler Job Padding"/>
|
||||
<section name="Draw" offset="128" type="Draw"/>
|
||||
<section name="Draw Padding" offset="248" type="Draw Padding"/>
|
||||
</aggregate>
|
||||
</panxml>
|
||||
|
||||
Reference in New Issue
Block a user