git: 58ee7ad21250 - main - graphics/mesa-devel: update to 22.1.b.3143

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Thu, 16 Jun 2022 00:54:41 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=58ee7ad21250ee21dc93baee389e8bc0c6bfc07a

commit 58ee7ad21250ee21dc93baee389e8bc0c6bfc07a
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-06-15 20:52:42 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-06-16 00:54:27 +0000

    graphics/mesa-devel: update to 22.1.b.3143
    
    Changes:        https://gitlab.freedesktop.org/mesa/mesa/-/compare/cbcdcc412c9...d301883aba5
---
 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 <errno.h>
--#include <linux/dma-buf.h>
--#include <linux/sync_file.h>
- #include <time.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <xf86drm.h>
--
--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,