panfrost: Elucidate thread group split field

Last unknown field in the XML :-)

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11074>
This commit is contained in:
Alyssa Rosenzweig 2021-05-20 19:25:00 -04:00 committed by Marge Bot
parent 71f069bd7a
commit ae93796cc0
3 changed files with 9 additions and 5 deletions

View file

@ -553,7 +553,7 @@ panfrost_direct_draw(struct panfrost_batch *batch,
cfg.workgroups_x_shift = 0;
cfg.workgroups_y_shift = 0;
cfg.workgroups_z_shift = 32;
cfg.unknown_shift = 2;
cfg.thread_group_split = MALI_SPLIT_MIN_EFFICIENT;
}
}

View file

@ -626,7 +626,9 @@
<field name="Workgroups X shift" size="6" start="1:10" type="uint"/>
<field name="Workgroups Y shift" size="6" start="1:16" type="uint"/>
<field name="Workgroups Z shift" size="6" start="1:22" type="uint"/>
<field name="Unknown shift" size="4" start="1:28" type="uint"/>
<field name="Thread group split" size="4" start="1:28" type="uint" prefix="MALI_SPLIT">
<value name="Min efficient" value="2"/>
</field>
</struct>
<enum name="Point Size Array Format">

View file

@ -98,9 +98,11 @@ panfrost_pack_work_groups_compute(
if (quirk_graphics && (num_z <= 1))
cfg.workgroups_z_shift = 32;
/* Quirk: for graphics, >= 2. For compute, 2 without barriers
* but equal to workgroups_x_shift with barriers */
/* For graphics, set to the minimum efficient value. For
* compute, must equal the workgroup X shift for barriers to
* function correctly */
cfg.unknown_shift = quirk_graphics ? 2 : cfg.workgroups_x_shift;
cfg.thread_group_split = quirk_graphics ?
MALI_SPLIT_MIN_EFFICIENT : cfg.workgroups_x_shift;
}
}