panvk: Add a panvk_cmd_prepare_tiler_context() helper

So we can create tiler contexts from meta helpers.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12095>
This commit is contained in:
Boris Brezillon 2021-09-07 19:19:43 +02:00
parent 285197df28
commit b882c3b677
3 changed files with 22 additions and 22 deletions

View File

@ -517,23 +517,30 @@ panvk_per_arch(cmd_get_tiler_context)(struct panvk_cmd_buffer *cmdbuf,
}
#endif
void
panvk_per_arch(cmd_prepare_tiler_context)(struct panvk_cmd_buffer *cmdbuf)
{
const struct pan_fb_info *fbinfo = &cmdbuf->state.fb.info;
#if PAN_ARCH == 5
panvk_per_arch(cmd_get_polygon_list)(cmdbuf,
fbinfo->width,
fbinfo->height,
true);
#else
panvk_per_arch(cmd_get_tiler_context)(cmdbuf,
fbinfo->width,
fbinfo->height);
#endif
}
static void
panvk_draw_prepare_tiler_context(struct panvk_cmd_buffer *cmdbuf,
struct panvk_draw_info *draw)
{
struct panvk_batch *batch = cmdbuf->state.batch;
#if PAN_ARCH == 5
panvk_per_arch(cmd_get_polygon_list)(cmdbuf,
batch->fb.info->width,
batch->fb.info->height,
true);
#else
panvk_per_arch(cmd_get_tiler_context)(cmdbuf,
batch->fb.info->width,
batch->fb.info->height);
#endif
panvk_per_arch(cmd_prepare_tiler_context)(cmdbuf);
draw->tiler_ctx = &batch->tiler.ctx;
}

View File

@ -52,3 +52,6 @@ panvk_per_arch(cmd_alloc_fb_desc)(struct panvk_cmd_buffer *cmdbuf);
void
panvk_per_arch(cmd_alloc_tls_desc)(struct panvk_cmd_buffer *cmdbuf, bool gfx);
void
panvk_per_arch(cmd_prepare_tiler_context)(struct panvk_cmd_buffer *cmdbuf);

View File

@ -315,17 +315,7 @@ panvk_meta_clear_attachment(struct panvk_cmd_buffer *cmdbuf,
panvk_per_arch(cmd_alloc_fb_desc)(cmdbuf);
panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf, true);
#if PAN_ARCH <= 5
panvk_per_arch(cmd_get_polygon_list)(cmdbuf,
batch->fb.info->width,
batch->fb.info->height,
true);
#else
panvk_per_arch(cmd_get_tiler_context)(cmdbuf,
batch->fb.info->width,
batch->fb.info->height);
#endif
panvk_per_arch(cmd_prepare_tiler_context)(cmdbuf);
mali_ptr vpd =
panvk_per_arch(meta_emit_viewport)(&cmdbuf->desc_pool.base,