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:
parent
285197df28
commit
b882c3b677
|
@ -517,23 +517,30 @@ panvk_per_arch(cmd_get_tiler_context)(struct panvk_cmd_buffer *cmdbuf,
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
static void
|
||||||
panvk_draw_prepare_tiler_context(struct panvk_cmd_buffer *cmdbuf,
|
panvk_draw_prepare_tiler_context(struct panvk_cmd_buffer *cmdbuf,
|
||||||
struct panvk_draw_info *draw)
|
struct panvk_draw_info *draw)
|
||||||
{
|
{
|
||||||
struct panvk_batch *batch = cmdbuf->state.batch;
|
struct panvk_batch *batch = cmdbuf->state.batch;
|
||||||
|
|
||||||
#if PAN_ARCH == 5
|
panvk_per_arch(cmd_prepare_tiler_context)(cmdbuf);
|
||||||
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
|
|
||||||
|
|
||||||
draw->tiler_ctx = &batch->tiler.ctx;
|
draw->tiler_ctx = &batch->tiler.ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,3 +52,6 @@ panvk_per_arch(cmd_alloc_fb_desc)(struct panvk_cmd_buffer *cmdbuf);
|
||||||
|
|
||||||
void
|
void
|
||||||
panvk_per_arch(cmd_alloc_tls_desc)(struct panvk_cmd_buffer *cmdbuf, bool gfx);
|
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);
|
||||||
|
|
|
@ -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_fb_desc)(cmdbuf);
|
||||||
panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf, true);
|
panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf, true);
|
||||||
|
panvk_per_arch(cmd_prepare_tiler_context)(cmdbuf);
|
||||||
#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
|
|
||||||
|
|
||||||
mali_ptr vpd =
|
mali_ptr vpd =
|
||||||
panvk_per_arch(meta_emit_viewport)(&cmdbuf->desc_pool.base,
|
panvk_per_arch(meta_emit_viewport)(&cmdbuf->desc_pool.base,
|
||||||
|
|
Loading…
Reference in New Issue