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] <default>:                789 ->  796 (+0.93%)
[cube] <default>:                  2204 -> 2244 (+1.80%)
[clear] <default>:                 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 <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37996>
This commit is contained in:
Jose Maria Casanova Crespo 2025-10-08 11:22:42 +02:00 committed by Marge Bot
parent 2e32dd7472
commit ac602a15d1

View file

@ -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);