From nobody Thu Jun 16 00:55:23 2022 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 64236836805; Thu, 16 Jun 2022 00:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LNkHJ1f2Mz3KGF; Thu, 16 Jun 2022 00:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655340924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nefg+5Agl1TNU0GaCtxlNJ/r6rpJXmNe9hk6GYnh7BI=; b=dCDzRSTX64KcsBDjUV3eDV4ATCdDf99nTKy8Xb6L+zfusMTKYeIpe92n8FDnIoXpje85/M u61g8Z0mITvPL2y6FBSKbADGA/HAKNqoWHeVFmI4rGPIxHTF15rkohWPLy3Jvkf+d+MNP6 Wn+NQVvIQu2dpqmmGekIHRZPxYIuJ5WcOTOynwB014BYCAUiGBsj9Et/SdwMl9noT34TgV QFLu19aqr0hjgWByzyMLKgMOZXw8ufHjHr/9uEc2RWlXht3DZrF2W+P+5SCsD3Ips1CYt2 kt4xPP5KjtmKBrl3dpw7mCtlF7Y5uYaqb+ts1PA7nixQLoOSlM2Ja9Wmx4ml7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 099A429404; Thu, 16 Jun 2022 00:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 25G0tNbM041365; Thu, 16 Jun 2022 00:55:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 25G0tNI3041364; Thu, 16 Jun 2022 00:55:23 GMT (envelope-from git) Date: Thu, 16 Jun 2022 00:55:23 GMT Message-Id: <202206160055.25G0tNI3041364@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Jan Beich Subject: git: 3b240a5883b6 - 2022Q2 - graphics/mesa-devel: update to 22.1.b.3143 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jbeich X-Git-Repository: ports X-Git-Refname: refs/heads/2022Q2 X-Git-Reftype: branch X-Git-Commit: 3b240a5883b63cd21d82f72755dbf06ed22286c5 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655340924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nefg+5Agl1TNU0GaCtxlNJ/r6rpJXmNe9hk6GYnh7BI=; b=Zdk3dE4ozi2PKUQShjb5oNzITdjgdnhzpHBBDy/1IWTQGRtf2LrKs2bgQzsKNamDRC/20e Z/cADzq4P5Q6D4kU4nw2sWWYefw3arPIdmcwpbgXWVRVmCgbkH6ckujfGfkgPJh2GCuEaG 4adp4mbl41J6IMYD/3p/XPbRV8w6vE5Ljv92shmT4dXVwnYpJiGUzoyn4uIV6Pptbxblo1 eM5VUGFaE5LNA3BzTMXQIiNqDP2rfZKNiMw6Y1fG/WvEAydIVzYnZNuaF29uxg6NO+O3dA 9bq+X0WmF/ShqQfoWxJCU/GHJZSlOCNbrsgin6xLud02ahVujHMKkCH9d+9VTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1655340924; a=rsa-sha256; cv=none; b=QHe6GkvgjgMzZ7pdlDHnjFbXk0shfvEPuXIDjU6hyPsk3XL8rDAV0bwauReW8MD00Gk+HV WwG1+2a0/0oouaRjAhOBiwU31fOIyDevJNX6L3lqe8Ss/uWyHR9Kw3TmTVyWQi9INlVJfp OZsGOEatQouQVg9j8ZNlOIp/ccG9u8wm3B++vYGYwJPAt6Ap0/UHN2Cf8OT1d+okcSNBQT /3cy2a+c5LcufXDkkJ+O1PoI1WBLEGSqs5OO9Jbp39ZXI0NfK3XLm3Ot48FZVrotUkS9el rowMWlXFxsR6uURQ9iS8uJrv4uQAPEmS8fBKAXCUfgKoe4HxhVPhOaX3TiDIxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch 2022Q2 has been updated by jbeich: URL: https://cgit.FreeBSD.org/ports/commit/?id=3b240a5883b63cd21d82f72755dbf06ed22286c5 commit 3b240a5883b63cd21d82f72755dbf06ed22286c5 Author: Jan Beich AuthorDate: 2022-06-15 20:52:42 +0000 Commit: Jan Beich CommitDate: 2022-06-16 00:55:18 +0000 graphics/mesa-devel: update to 22.1.b.3143 Changes: https://gitlab.freedesktop.org/mesa/mesa/-/compare/cbcdcc412c9...d301883aba5 (cherry picked from commit 58ee7ad21250ee21dc93baee389e8bc0c6bfc07a) --- graphics/mesa-devel/Makefile | 8 +- graphics/mesa-devel/distinfo | 14 +- graphics/mesa-devel/files/patch-revert | 419 --------------------------------- 3 files changed, 17 insertions(+), 424 deletions(-) diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile index 7475c2ff61ce..4e9ae78da171 100644 --- a/graphics/mesa-devel/Makefile +++ b/graphics/mesa-devel/Makefile @@ -1,12 +1,16 @@ PORTNAME= mesa -DISTVERSION= 22.1-branchpoint-2850 -DISTVERSIONSUFFIX= -gcbcdcc412c9 +DISTVERSION= 22.1-branchpoint-3143 +DISTVERSIONSUFFIX= -gd301883aba5 CATEGORIES= graphics PKGNAMESUFFIX= -devel PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 700efacda59c.patch:-p1 PATCHFILES+= 50433886a3e3.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6881 +PATCHFILES+= 4356e7185193.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987 +PATCHFILES+= b2a22acce617.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987 +PATCHFILES+= 19eb2c30bff0.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987 +PATCHFILES+= 43a5cfde5955.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17070 MAINTAINER= jbeich@FreeBSD.org COMMENT= Bleeding edge Mesa drivers (OpenGL, Vulkan) diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo index b8da83f90774..e8511432c152 100644 --- a/graphics/mesa-devel/distinfo +++ b/graphics/mesa-devel/distinfo @@ -1,7 +1,15 @@ -TIMESTAMP = 1654899254 -SHA256 (mesa3d-mesa-22.1-branchpoint-2850-gcbcdcc412c9_GH0.tar.gz) = ebdfbcd6a7a155c4d6ecd98117f2c9c82c5ed393630bd9916aa5bea2eff8dccc -SIZE (mesa3d-mesa-22.1-branchpoint-2850-gcbcdcc412c9_GH0.tar.gz) = 25119988 +TIMESTAMP = 1655339445 +SHA256 (mesa3d-mesa-22.1-branchpoint-3143-gd301883aba5_GH0.tar.gz) = 819a580b8fb8aacaf9a0f54d4e1230593b579fd2943793496a71732e190a9927 +SIZE (mesa3d-mesa-22.1-branchpoint-3143-gd301883aba5_GH0.tar.gz) = 25143515 SHA256 (700efacda59c.patch) = f034cfbe09edff0baba67e46e7e3812fdef73ff3cf3e579050c024c95234c8d5 SIZE (700efacda59c.patch) = 981 SHA256 (50433886a3e3.patch) = 15af265e9dbb5dec7514062cfa549d1c1053f567395d9d133611c2a5138da470 SIZE (50433886a3e3.patch) = 2008 +SHA256 (4356e7185193.patch) = 913b6fde30a0e00e1091da87b054dacc331de4c9d3c5a2281e1b6521b362a5c5 +SIZE (4356e7185193.patch) = 8392 +SHA256 (b2a22acce617.patch) = 9ec231cdcec3235164b0c0298d35e65225940878e75d9f972b05168dc44a01c6 +SIZE (b2a22acce617.patch) = 2425 +SHA256 (19eb2c30bff0.patch) = 238e1031e32bda8fa72bd649df857d775ffe5caec26c1d4428215cf65f564c2b +SIZE (19eb2c30bff0.patch) = 1217 +SHA256 (43a5cfde5955.patch) = 428a47e818c8f19139dbc76e4ee1f5f4b81a2e362e72e39c629936e5430bbcd6 +SIZE (43a5cfde5955.patch) = 1554 diff --git a/graphics/mesa-devel/files/patch-revert b/graphics/mesa-devel/files/patch-revert deleted file mode 100644 index 355b0a4af7fa..000000000000 --- a/graphics/mesa-devel/files/patch-revert +++ /dev/null @@ -1,419 +0,0 @@ -Revert https://gitlab.freedesktop.org/mesa/mesa/-/commit/30b57f10b36d -due to https://gitlab.freedesktop.org/mesa/mesa/-/issues/6653 - ---- src/vulkan/wsi/wsi_common.c.orig 2022-06-10 22:14:14 UTC -+++ src/vulkan/wsi/wsi_common.c -@@ -64,7 +64,6 @@ wsi_device_init(struct wsi_device *wsi, - wsi->sw = sw_device; - #define WSI_GET_CB(func) \ - PFN_vk##func func = (PFN_vk##func)proc_addr(pdevice, "vk" #func) -- WSI_GET_CB(GetPhysicalDeviceExternalSemaphoreProperties); - WSI_GET_CB(GetPhysicalDeviceProperties2); - WSI_GET_CB(GetPhysicalDeviceMemoryProperties); - WSI_GET_CB(GetPhysicalDeviceQueueFamilyProperties); -@@ -84,23 +83,6 @@ wsi_device_init(struct wsi_device *wsi, - GetPhysicalDeviceMemoryProperties(pdevice, &wsi->memory_props); - GetPhysicalDeviceQueueFamilyProperties(pdevice, &wsi->queue_family_count, NULL); - -- for (VkExternalSemaphoreHandleTypeFlags handle_type = 1; -- handle_type <= VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT; -- handle_type <<= 1) { -- const VkPhysicalDeviceExternalSemaphoreInfo esi = { -- .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, -- .handleType = handle_type, -- }; -- VkExternalSemaphoreProperties esp = { -- .sType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, -- }; -- GetPhysicalDeviceExternalSemaphoreProperties(pdevice, &esi, &esp); -- -- if (esp.externalSemaphoreFeatures & -- VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT) -- wsi->semaphore_export_handle_types |= handle_type; -- } -- - list_inithead(&wsi->hotplug_fences); - - #define WSI_GET_CB(func) \ -@@ -134,7 +116,6 @@ wsi_device_init(struct wsi_device *wsi, - WSI_GET_CB(GetPhysicalDeviceFormatProperties); - WSI_GET_CB(GetPhysicalDeviceFormatProperties2KHR); - WSI_GET_CB(GetPhysicalDeviceImageFormatProperties2); -- WSI_GET_CB(GetSemaphoreFdKHR); - WSI_GET_CB(ResetFences); - WSI_GET_CB(QueueSubmit); - WSI_GET_CB(WaitForFences); -@@ -368,8 +349,6 @@ wsi_swapchain_finish(struct wsi_swapchain *chain) - - vk_free(&chain->alloc, chain->buffer_blit_semaphores); - } -- chain->wsi->DestroySemaphore(chain->device, chain->dma_buf_semaphore, -- &chain->alloc); - - int cmd_pools_count = chain->buffer_blit_queue != VK_NULL_HANDLE ? - 1 : chain->wsi->queue_family_count; -@@ -864,14 +843,6 @@ wsi_signal_semaphore_for_image(struct vk_device *devic - - vk_semaphore_reset_temporary(device, semaphore); - --#ifndef _WIN32 -- VkResult result = wsi_create_sync_for_dma_buf_wait(chain, image, -- VK_SYNC_FEATURE_GPU_WAIT, -- &semaphore->temporary); -- if (result != VK_ERROR_FEATURE_NOT_PRESENT) -- return result; --#endif -- - if (chain->wsi->signal_semaphore_with_memory) { - return device->create_sync_for_memory(device, image->memory, - false /* signal_memory */, -@@ -896,14 +867,6 @@ wsi_signal_fence_for_image(struct vk_device *device, - - vk_fence_reset_temporary(device, fence); - --#ifndef _WIN32 -- VkResult result = wsi_create_sync_for_dma_buf_wait(chain, image, -- VK_SYNC_FEATURE_CPU_WAIT, -- &fence->temporary); -- if (result != VK_ERROR_FEATURE_NOT_PRESENT) -- return result; --#endif -- - if (chain->wsi->signal_fence_with_memory) { - return device->create_sync_for_memory(device, image->memory, - false /* signal_memory */, -@@ -1073,49 +1036,15 @@ wsi_common_queue_present(const struct wsi_device *wsi, - - VkFence fence = swapchain->fences[image_index]; - -- bool has_signal_dma_buf = false; --#ifndef _WIN32 -- result = wsi_prepare_signal_dma_buf_from_semaphore(swapchain, image); -- if (result == VK_SUCCESS) { -- assert(submit_info.signalSemaphoreCount == 0); -- submit_info.signalSemaphoreCount = 1; -- submit_info.pSignalSemaphores = &swapchain->dma_buf_semaphore; -- has_signal_dma_buf = true; -- } else if (result == VK_ERROR_FEATURE_NOT_PRESENT) { -- result = VK_SUCCESS; -- has_signal_dma_buf = false; -- } else { -- goto fail_present; -- } --#endif -+ struct wsi_memory_signal_submit_info mem_signal = { -+ .sType = VK_STRUCTURE_TYPE_WSI_MEMORY_SIGNAL_SUBMIT_INFO_MESA, -+ .memory = image->memory, -+ }; -+ __vk_append_struct(&submit_info, &mem_signal); - -- struct wsi_memory_signal_submit_info mem_signal; -- if (!has_signal_dma_buf) { -- /* If we don't have dma-buf signaling, signal the memory object by -- * chaining wsi_memory_signal_submit_info into VkSubmitInfo. -- */ -- result = VK_SUCCESS; -- has_signal_dma_buf = false; -- mem_signal = (struct wsi_memory_signal_submit_info) { -- .sType = VK_STRUCTURE_TYPE_WSI_MEMORY_SIGNAL_SUBMIT_INFO_MESA, -- .memory = image->memory, -- }; -- __vk_append_struct(&submit_info, &mem_signal); -- } -- - result = wsi->QueueSubmit(submit_queue, 1, &submit_info, fence); - if (result != VK_SUCCESS) - goto fail_present; -- --#ifndef _WIN32 -- if (has_signal_dma_buf) { -- result = wsi_signal_dma_buf_from_semaphore(swapchain, image); -- if (result != VK_SUCCESS) -- goto fail_present; -- } --#else -- assert(!has_signal_dma_buf); --#endif - - if (wsi->sw) - wsi->WaitForFences(device, 1, &swapchain->fences[image_index], ---- src/vulkan/wsi/wsi_common.h.orig 2022-06-10 22:14:14 UTC -+++ src/vulkan/wsi/wsi_common.h -@@ -102,8 +102,6 @@ struct wsi_device { - - VkPhysicalDevicePCIBusInfoPropertiesEXT pci_bus_info; - -- VkExternalSemaphoreHandleTypeFlags semaphore_export_handle_types; -- - bool supports_modifiers; - uint32_t maxImageDimension2D; - VkPresentModeKHR override_present_mode; -@@ -211,7 +209,6 @@ struct wsi_device { - WSI_CB(GetPhysicalDeviceFormatProperties); - WSI_CB(GetPhysicalDeviceFormatProperties2KHR); - WSI_CB(GetPhysicalDeviceImageFormatProperties2); -- WSI_CB(GetSemaphoreFdKHR); - WSI_CB(ResetFences); - WSI_CB(QueueSubmit); - WSI_CB(WaitForFences); ---- src/vulkan/wsi/wsi_common_drm.c.orig 2022-06-10 22:14:14 UTC -+++ src/vulkan/wsi/wsi_common_drm.c -@@ -26,220 +26,15 @@ - #include "util/macros.h" - #include "util/os_file.h" - #include "util/xmlconfig.h" --#include "vk_device.h" - #include "vk_format.h" --#include "vk_physical_device.h" - #include "vk_util.h" - #include "drm-uapi/drm_fourcc.h" - --#include --#include --#include - #include - #include - #include - #include - #include -- --struct dma_buf_export_sync_file_wsi { -- __u32 flags; -- __s32 fd; --}; -- --struct dma_buf_import_sync_file_wsi { -- __u32 flags; -- __s32 fd; --}; -- --#define DMA_BUF_IOCTL_EXPORT_SYNC_FILE_WSI _IOWR(DMA_BUF_BASE, 2, struct dma_buf_export_sync_file_wsi) --#define DMA_BUF_IOCTL_IMPORT_SYNC_FILE_WSI _IOW(DMA_BUF_BASE, 3, struct dma_buf_import_sync_file_wsi) -- --static VkResult --wsi_dma_buf_export_sync_file(int dma_buf_fd, int *sync_file_fd) --{ -- /* Don't keep trying an IOCTL that doesn't exist. */ -- static bool no_dma_buf_sync_file = false; -- if (no_dma_buf_sync_file) -- return VK_ERROR_FEATURE_NOT_PRESENT; -- -- struct dma_buf_export_sync_file_wsi export = { -- .flags = DMA_BUF_SYNC_RW, -- .fd = -1, -- }; -- int ret = drmIoctl(dma_buf_fd, DMA_BUF_IOCTL_EXPORT_SYNC_FILE_WSI, &export); -- if (ret) { -- if (errno == ENOTTY) { -- no_dma_buf_sync_file = true; -- return VK_ERROR_FEATURE_NOT_PRESENT; -- } else { -- return VK_ERROR_OUT_OF_HOST_MEMORY; -- } -- } -- -- *sync_file_fd = export.fd; -- -- return VK_SUCCESS; --} -- --static VkResult --wsi_dma_buf_import_sync_file(int dma_buf_fd, int sync_file_fd) --{ -- /* Don't keep trying an IOCTL that doesn't exist. */ -- static bool no_dma_buf_sync_file = false; -- if (no_dma_buf_sync_file) -- return VK_ERROR_FEATURE_NOT_PRESENT; -- -- struct dma_buf_import_sync_file_wsi import = { -- .flags = DMA_BUF_SYNC_RW, -- .fd = sync_file_fd, -- }; -- int ret = drmIoctl(dma_buf_fd, DMA_BUF_IOCTL_IMPORT_SYNC_FILE_WSI, &import); -- if (ret) { -- if (errno == ENOTTY) { -- no_dma_buf_sync_file = true; -- return VK_ERROR_FEATURE_NOT_PRESENT; -- } else { -- return VK_ERROR_OUT_OF_HOST_MEMORY; -- } -- } -- -- return VK_SUCCESS; --} -- --static VkResult --prepare_signal_dma_buf_from_semaphore(struct wsi_swapchain *chain, -- const struct wsi_image *image) --{ -- VkResult result; -- -- if (!(chain->wsi->semaphore_export_handle_types & -- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)) -- return VK_ERROR_FEATURE_NOT_PRESENT; -- -- int sync_file_fd = -1; -- result = wsi_dma_buf_export_sync_file(image->dma_buf_fd, &sync_file_fd); -- if (result != VK_SUCCESS) -- return result; -- -- result = wsi_dma_buf_import_sync_file(image->dma_buf_fd, sync_file_fd); -- close(sync_file_fd); -- if (result != VK_SUCCESS) -- return result; -- -- /* If we got here, all our checks pass. Create the actual semaphore */ -- const VkExportSemaphoreCreateInfo export_info = { -- .sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, -- .handleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, -- }; -- const VkSemaphoreCreateInfo semaphore_info = { -- .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, -- .pNext = &export_info, -- }; -- result = chain->wsi->CreateSemaphore(chain->device, &semaphore_info, -- &chain->alloc, -- &chain->dma_buf_semaphore); -- if (result != VK_SUCCESS) -- return result; -- -- return VK_SUCCESS; --} -- --VkResult --wsi_prepare_signal_dma_buf_from_semaphore(struct wsi_swapchain *chain, -- const struct wsi_image *image) --{ -- VkResult result; -- -- /* We cache result - 1 in the swapchain */ -- if (unlikely(chain->signal_dma_buf_from_semaphore == 0)) { -- result = prepare_signal_dma_buf_from_semaphore(chain, image); -- assert(result <= 0); -- chain->signal_dma_buf_from_semaphore = (int)result - 1; -- } else { -- result = (VkResult)(chain->signal_dma_buf_from_semaphore + 1); -- } -- -- return result; --} -- --VkResult --wsi_signal_dma_buf_from_semaphore(const struct wsi_swapchain *chain, -- const struct wsi_image *image) --{ -- VkResult result; -- -- const VkSemaphoreGetFdInfoKHR get_fd_info = { -- .sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR, -- .semaphore = chain->dma_buf_semaphore, -- .handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, -- }; -- int sync_file_fd = -1; -- result = chain->wsi->GetSemaphoreFdKHR(chain->device, &get_fd_info, -- &sync_file_fd); -- if (result != VK_SUCCESS) -- return result; -- -- result = wsi_dma_buf_import_sync_file(image->dma_buf_fd, sync_file_fd); -- close(sync_file_fd); -- return result; --} -- --static const struct vk_sync_type * --get_sync_file_sync_type(struct vk_device *device, -- enum vk_sync_features req_features) --{ -- for (const struct vk_sync_type *const *t = -- device->physical->supported_sync_types; *t; t++) { -- if (req_features & ~(*t)->features) -- continue; -- -- if ((*t)->import_sync_file != NULL) -- return *t; -- } -- -- return NULL; --} -- --VkResult --wsi_create_sync_for_dma_buf_wait(const struct wsi_swapchain *chain, -- const struct wsi_image *image, -- enum vk_sync_features req_features, -- struct vk_sync **sync_out) --{ -- VK_FROM_HANDLE(vk_device, device, chain->device); -- VkResult result; -- -- const struct vk_sync_type *sync_type = -- get_sync_file_sync_type(device, req_features); -- if (sync_type == NULL) -- return VK_ERROR_FEATURE_NOT_PRESENT; -- -- int sync_file_fd = -1; -- result = wsi_dma_buf_export_sync_file(image->dma_buf_fd, &sync_file_fd); -- if (result != VK_SUCCESS) -- return result; -- -- struct vk_sync *sync = NULL; -- result = vk_sync_create(device, sync_type, VK_SYNC_IS_SHAREABLE, 0, &sync); -- if (result != VK_SUCCESS) -- goto fail_close_sync_file; -- -- result = vk_sync_import_sync_file(device, sync, sync_file_fd); -- if (result != VK_SUCCESS) -- goto fail_destroy_sync; -- -- close(sync_file_fd); -- *sync_out = sync; -- -- return VK_SUCCESS; -- --fail_destroy_sync: -- vk_sync_destroy(device, sync); --fail_close_sync_file: -- close(sync_file_fd); -- -- return result; --} - - bool - wsi_common_drm_devices_equal(int fd_a, int fd_b) ---- src/vulkan/wsi/wsi_common_private.h.orig 2022-06-10 22:14:14 UTC -+++ src/vulkan/wsi/wsi_common_private.h -@@ -25,7 +25,6 @@ - - #include "wsi_common.h" - #include "vulkan/runtime/vk_object.h" --#include "vulkan/runtime/vk_sync.h" - - struct wsi_image; - struct wsi_swapchain; -@@ -98,9 +97,6 @@ struct wsi_swapchain { - VkSemaphore* buffer_blit_semaphores; - VkPresentModeKHR present_mode; - -- int signal_dma_buf_from_semaphore; -- VkSemaphore dma_buf_semaphore; -- - struct wsi_image_info image_info; - uint32_t image_count; - -@@ -197,17 +193,6 @@ wsi_destroy_image(const struct wsi_swapchain *chain, - wsi_destroy_image(const struct wsi_swapchain *chain, - struct wsi_image *image); - --VkResult --wsi_prepare_signal_dma_buf_from_semaphore(struct wsi_swapchain *chain, -- const struct wsi_image *image); --VkResult --wsi_signal_dma_buf_from_semaphore(const struct wsi_swapchain *chain, -- const struct wsi_image *image); --VkResult --wsi_create_sync_for_dma_buf_wait(const struct wsi_swapchain *chain, -- const struct wsi_image *image, -- enum vk_sync_features sync_features, -- struct vk_sync **sync_out); - - struct wsi_interface { - VkResult (*get_support)(VkIcdSurfaceBase *surface,