From 25d7c6cd4d3c05f31d6ed4739172c63dc6de5dec Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Mon, 23 Jun 2025 16:12:17 -0700 Subject: [PATCH] venus: relocate tls ring hint from wsi init to queue submission This ensures synchronous shader compilation doesn't occur on most render threads. Part-of: --- src/virtio/vulkan/vn_android.c | 2 -- src/virtio/vulkan/vn_queue.c | 4 ++++ src/virtio/vulkan/vn_wsi.c | 2 -- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index 44fe54d92f8..f51c527c8b1 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -222,8 +222,6 @@ vn_GetSwapchainGrallocUsage2ANDROID( if (swapchainImageUsage & VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID) *grallocProducerUsage |= vk_android_get_front_buffer_usage(); - vn_tls_set_async_pipeline_create(); - return VK_SUCCESS; } diff --git a/src/virtio/vulkan/vn_queue.c b/src/virtio/vulkan/vn_queue.c index 239c2443fe8..c609ad506df 100644 --- a/src/virtio/vulkan/vn_queue.c +++ b/src/virtio/vulkan/vn_queue.c @@ -1125,6 +1125,8 @@ vn_QueueSubmit(VkQueue queue, { VN_TRACE_FUNC(); + vn_tls_set_async_pipeline_create(); + struct vn_queue_submission submit = { .batch_type = VK_STRUCTURE_TYPE_SUBMIT_INFO, .queue_handle = queue, @@ -1144,6 +1146,8 @@ vn_QueueSubmit2(VkQueue queue, { VN_TRACE_FUNC(); + vn_tls_set_async_pipeline_create(); + struct vn_queue_submission submit = { .batch_type = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, .queue_handle = queue, diff --git a/src/virtio/vulkan/vn_wsi.c b/src/virtio/vulkan/vn_wsi.c index 403c110eb9e..f470ea1b128 100644 --- a/src/virtio/vulkan/vn_wsi.c +++ b/src/virtio/vulkan/vn_wsi.c @@ -243,8 +243,6 @@ vn_CreateSwapchainKHR(VkDevice device, VN_WSI_PTR(pCreateInfo->oldSwapchain)); } - vn_tls_set_async_pipeline_create(); - return vn_result(dev->instance, result); }