panvk: Make panvk_cmd_alloc_tls_desc() more generic
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 7 Sep 2021 17:18:24 +0000 (19:18 +0200)
committerBoris Brezillon <boris.brezillon@collabora.com>
Tue, 21 Sep 2021 13:00:50 +0000 (15:00 +0200)
panvk_cmd_alloc_tls_desc() will soon be called from meta helpers which
don't bind a pipeline to the cmdbuf state. Let's pass the gfx/compute
info directly.

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>

src/panfrost/vulkan/panvk_vX_cmd_buffer.c
src/panfrost/vulkan/panvk_vX_cmd_buffer.h
src/panfrost/vulkan/panvk_vX_meta_clear.c

index eaf25b6..c00e7cd 100644 (file)
@@ -278,7 +278,7 @@ 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)
+panvk_per_arch(cmd_alloc_tls_desc)(struct panvk_cmd_buffer *cmdbuf, bool gfx)
 {
    struct panvk_batch *batch = cmdbuf->state.batch;
 
@@ -286,8 +286,7 @@ panvk_per_arch(cmd_alloc_tls_desc)(struct panvk_cmd_buffer *cmdbuf)
    if (batch->tls.gpu)
       return;
 
-   if (PAN_ARCH == 5 &&
-       cmdbuf->state.bind_point == VK_PIPELINE_BIND_POINT_GRAPHICS) {
+   if (PAN_ARCH == 5 && gfx) {
       panvk_per_arch(cmd_alloc_fb_desc)(cmdbuf);
       batch->tls = batch->fb.desc;
       batch->tls.gpu &= ~63ULL;
@@ -703,7 +702,7 @@ panvk_per_arch(CmdDraw)(VkCommandBuffer commandBuffer,
    if (cmdbuf->state.pipeline->fs.required)
       panvk_per_arch(cmd_alloc_fb_desc)(cmdbuf);
 
-   panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf);
+   panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf, true);
    panvk_cmd_prepare_ubos(cmdbuf);
    panvk_cmd_prepare_textures(cmdbuf);
    panvk_cmd_prepare_samplers(cmdbuf);
index 836f04d..40946be 100644 (file)
@@ -51,4 +51,4 @@ void
 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);
+panvk_per_arch(cmd_alloc_tls_desc)(struct panvk_cmd_buffer *cmdbuf, bool gfx);
index fdfd3f5..8502f44 100644 (file)
@@ -314,7 +314,7 @@ panvk_meta_clear_attachment(struct panvk_cmd_buffer *cmdbuf,
    assert(mask == VK_IMAGE_ASPECT_COLOR_BIT);
 
    panvk_per_arch(cmd_alloc_fb_desc)(cmdbuf);
-   panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf);
+   panvk_per_arch(cmd_alloc_tls_desc)(cmdbuf, true);
 
 #if PAN_ARCH <= 5
    panvk_per_arch(cmd_get_polygon_list)(cmdbuf,