git: f10ebd5d7705 - 2022Q4 - graphics/vulkan-caps-viewer: unbreak under Xorg or Xwayland-only

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 15 Nov 2022 00:57:49 UTC
The branch 2022Q4 has been updated by jbeich:

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

commit f10ebd5d77051bb5eeff2b952b2d8a7397d7991e
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-11-15 00:38:53 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-11-15 00:57:40 +0000

    graphics/vulkan-caps-viewer: unbreak under Xorg or Xwayland-only
    
    https://forums.freebsd.org/threads/vulkan-caps-viewer-segmentation-fault.87083/
    
    $ pkg delete qt5-wayland
    $ env -u WAYLAND_DISPLAY vulkanCapsViewer
    Reading extensions
    Device "Intel(R) HD Graphics 530 (SKL GT2)"
    Reading Vulkan 1.1 core properties
    Reading Vulkan 1.2 core properties
    Reading Vulkan 1.3 core properties
    Reading layers
    Reading queue families
    Reading physical feattures
    Reading Vulkan 1.1 core features
    Reading Vulkan 1.2 core features
    Reading Vulkan 1.3 core features
    Reading limits
    Reading memory properties
    Reading surface info
    Segmentation fault
    
    ```c++
    (lldb) bt
    * thread #1, name = 'vulkanCapsViewer', stop reason = signal SIGSEGV: invalid address (fault address: 0x18)
      * frame #0: 0x0000000824ac758e libwayland-client.so.0`wl_proxy_create_wrapper(proxy=0x0000000000000000) at wayland-client.c:2406:37
        frame #1: 0x00000008749dc1ef libvulkan_intel.so`wsi_wl_display_init(wsi_wl=0x000000085c889660, display=0x000000082088e668, wl_display=0x0000000000000000, get_format_list=true, sw=false) at wsi_common_wayland.c:558:34
        frame #2: 0x00000008749dca1b libvulkan_intel.so`wsi_wl_surface_get_formats(icd_surface=0x000000085ca621a0, wsi_device=0x000000085c8beb58, pSurfaceFormatCount=0x000000082088e7c0, pSurfaceFormats=0x0000000000000000) at wsi_common_wayland.c:779:8
        frame #3: 0x00000008749d16b1 libvulkan_intel.so`wsi_GetPhysicalDeviceSurfaceFormatsKHR(physicalDevice=0x000000085c8be000, _surface=0x000000085ca621a0, pSurfaceFormatCount=0x000000082088e7c0, pSurfaceFormats=0x0000000000000000) at wsi_common.c:709:11
        frame #4: 0x00000008749ed972 libvulkan_intel.so`vk_tramp_GetPhysicalDeviceSurfaceFormatsKHR(physicalDevice=0x000000085c8be000, surface=0x000000085ca621a0, pSurfaceFormatCount=0x000000082088e7c0, pSurfaceFormats=0x0000000000000000) at vk_dispatch_trampolines.c:162:12
        frame #5: 0x00000000003bf422 vulkanCapsViewer`VulkanSurfaceInfo::get(this=0x000000085c978348, device=0x000000085ca7a280, surface=0x000000085c8892a0) at vulkansurfaceinfo.hpp:61:13
        frame #6: 0x000000000039d67b vulkanCapsViewer`VulkanDeviceInfo::readSurfaceInfo(this=0x000000085c977c00, surface=0x000000085c8892a0, surfaceExtension="VK_KHR_wayland_surface") at vulkanDeviceInfo.cpp:760:17
        frame #7: 0x00000000002fc8da vulkanCapsViewer`VulkanCapsViewer::getGPUinfo(this=0x000000082088f448, GPU=0x000000085c977c00, id=0, device=0x000000085ca7a280) at vulkancapsviewer.cpp:809:10
        frame #8: 0x00000000002f792b vulkanCapsViewer`VulkanCapsViewer::getGPUs(this=0x000000082088f448) at vulkancapsviewer.cpp:902:9
        frame #9: 0x00000000002f6317 vulkanCapsViewer`VulkanCapsViewer::VulkanCapsViewer(this=0x000000082088f448, parent=0x0000000000000000) at vulkancapsviewer.cpp:262:5
        frame #10: 0x00000000002a438d vulkanCapsViewer`main(argc=1, argv=0x000000082088fc68) at main.cpp:93:22
        frame #11: 0x000000000029c2d0 vulkanCapsViewer`_start(ap=<unavailable>, cleanup=<unavailable>) at crt1_c.c:75:7
    ```
    
    (cherry picked from commit 387f99b7180f1be0a4f1feea7183d7aab5cc7e9f)
---
 graphics/vulkan-caps-viewer/Makefile | 5 +++++
 graphics/vulkan-caps-viewer/distinfo | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/graphics/vulkan-caps-viewer/Makefile b/graphics/vulkan-caps-viewer/Makefile
index e9042c3e0945..fa758c122f36 100644
--- a/graphics/vulkan-caps-viewer/Makefile
+++ b/graphics/vulkan-caps-viewer/Makefile
@@ -1,8 +1,13 @@
 PORTNAME=	vulkan-caps-viewer
 DISTVERSION=	3.25
 DISTVERSIONSUFFIX=	_fixed
+PORTREVISION=	1
 CATEGORIES=	graphics wayland
 
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+=	0b3cd2200019.patch:-p1 # https://github.com/SaschaWillems/VulkanCapsViewer/pull/109
+PATCHFILES+=	f1eb47376404.patch:-p1 # https://github.com/SaschaWillems/VulkanCapsViewer/pull/109
+
 MAINTAINER=	jbeich@FreeBSD.org
 COMMENT=	Vulkan Hardware Capability Viewer
 WWW=		https://vulkan.gpuinfo.org/
diff --git a/graphics/vulkan-caps-viewer/distinfo b/graphics/vulkan-caps-viewer/distinfo
index e9c0f541e827..75f26b562d66 100644
--- a/graphics/vulkan-caps-viewer/distinfo
+++ b/graphics/vulkan-caps-viewer/distinfo
@@ -3,3 +3,7 @@ SHA256 (SaschaWillems-VulkanCapsViewer-3.25_fixed_GH0.tar.gz) = 2c2366a00820d9ee
 SIZE (SaschaWillems-VulkanCapsViewer-3.25_fixed_GH0.tar.gz) = 2370330
 SHA256 (KhronosGroup-Vulkan-Headers-v1.3.226_GH0.tar.gz) = aa0059f516eaa4af327a2b08737ffb0f9503849836e0d60ac3aab183c3b1532b
 SIZE (KhronosGroup-Vulkan-Headers-v1.3.226_GH0.tar.gz) = 1553730
+SHA256 (0b3cd2200019.patch) = fbf428b132d097b09825d0b90ba58bc708df5f85b743956e658ab9c126631b3d
+SIZE (0b3cd2200019.patch) = 2022
+SHA256 (f1eb47376404.patch) = db07bc9266a8c4050b475ef486a1b5a55249103792187021d2c51927bba6d71f
+SIZE (f1eb47376404.patch) = 2006