From ac602a15d1ea7ff7904cb37ebff54019164572e9 Mon Sep 17 00:00:00 2001 From: Jose Maria Casanova Crespo Date: Wed, 8 Oct 2025 11:22:42 +0200 Subject: [PATCH] v3dv: use vk_drm_syncobj_copy_payloads helper Enable in v3dv the improvement implemented at https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36827 ("vulkan/wsi: Stop calling unnecessarily calling vkQueueSubmit()") This shows an average improvement in FPS of 1.56% in vkmark stats. [vertex] device-local=true: 2032 -> 2071 (+1.94%) [vertex] device-local=false: 2042 -> 2068 (+1.29%) [texture] anisotropy=0: 1721 -> 1731 (+0.58%) [texture] anisotropy=16: 1655 -> 1678 (+1.35%) [shading] shading=gouraud: 1766 -> 1792 (+1.45%) [shading] shading=blinn-phong-inf: 1704 -> 1731 (+1.60%) [shading] shading=phong: 1542 -> 1565 (+1.54%) [shading] shading=cel: 1529 -> 1563 (+2.27%) [effect2d] kernel=edge: 914 -> 923 (+0.95%) [effect2d] kernel=blur: 384 -> 386 (+0.52%) [desktop] : 789 -> 796 (+0.93%) [cube] : 2204 -> 2244 (+1.80%) [clear] : 2492 -> 2593 (+4.03%) The improvement is mainly on vkmark but other gfxrecon traces exercise this code path but without a significant performance improvement. Reviewed-by: Juan A. Suarez Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dv_device.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 3d8ab2115a0..45d18b71f73 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1854,6 +1854,7 @@ v3dv_CreateDevice(VkPhysicalDevice physicalDevice, cnd_init(&device->query_ended); device->vk.command_buffer_ops = &v3dv_cmd_buffer_ops; + device->vk.copy_sync_payloads = vk_drm_syncobj_copy_payloads; vk_device_set_drm_fd(&device->vk, physical_device->render_fd); vk_device_enable_threaded_submit(&device->vk);