diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index c00e7cd7b85..f20e36d4156 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -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; } diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.h b/src/panfrost/vulkan/panvk_vX_cmd_buffer.h index 40946bed5f7..fbe5b916f39 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.h +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.h @@ -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); diff --git a/src/panfrost/vulkan/panvk_vX_meta_clear.c b/src/panfrost/vulkan/panvk_vX_meta_clear.c index 8502f44cba1..3c4d188c47b 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_clear.c +++ b/src/panfrost/vulkan/panvk_vX_meta_clear.c @@ -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,