panvk: set compute_ep_limit on v12+

Set compute_ep_limit to max_tasks_per_core on v12+. It is generally a
good idea to queue as many tasks as possible to better utilize the
cores.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37988>
This commit is contained in:
Chia-I Wu 2025-10-20 16:08:40 -07:00 committed by Marge Bot
parent bcd2e62ad0
commit 546d73721b

View file

@ -802,6 +802,8 @@ cs_reg_perm(struct cs_builder *b, unsigned reg)
static void
init_cs_builders(struct panvk_cmd_buffer *cmdbuf)
{
struct panvk_physical_device *phys_dev =
to_panvk_physical_device(cmdbuf->vk.base.device->physical);
struct panvk_device *dev = to_panvk_device(cmdbuf->vk.base.device);
const reg_perm_cb_t base_reg_perms[PANVK_SUBQUEUE_COUNT] = {
[PANVK_SUBQUEUE_VERTEX_TILER] = panvk_cs_vt_reg_perm,
@ -820,6 +822,8 @@ init_cs_builders(struct panvk_cmd_buffer *cmdbuf)
struct cs_builder_conf conf = {
.nr_registers = csif_info->cs_reg_count,
.nr_kernel_registers = MAX2(csif_info->unpreserved_cs_reg_count, 4),
.compute_ep_limit =
PAN_ARCH >= 12 ? phys_dev->kmod.props.max_tasks_per_core : 0,
.alloc_buffer = alloc_cs_buffer,
.cookie = cmdbuf,
.ls_sb_slot = SB_ID(LS),