git: 1a1ef0e9a27a - main - graphics/filament: Update 1.36.0 → 1.37.0

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 01 Jun 2023 19:48:18 UTC
The branch main has been updated by yuri:

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

commit 1a1ef0e9a27a69c0a0467d0fa6bc7968b5b98658
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-06-01 17:30:48 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-06-01 19:48:12 +0000

    graphics/filament: Update 1.36.0 → 1.37.0
    
    Reported by:    portscout
---
 graphics/filament/Makefile                         |  2 +-
 graphics/filament/distinfo                         |  6 +--
 .../patch-filament_backend_src_PlatformFactory.cpp | 25 ++++------
 ..._platform_PlatformVulkanAndroidLinuxWindows.cpp | 54 ++++++++++++++++++++++
 .../filament/files/patch-libs_utils_CMakeLists.txt |  6 +--
 5 files changed, 69 insertions(+), 24 deletions(-)

diff --git a/graphics/filament/Makefile b/graphics/filament/Makefile
index f45855a48cb3..c9e5453f2e31 100644
--- a/graphics/filament/Makefile
+++ b/graphics/filament/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	filament
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.36.0
+DISTVERSION=	1.37.0
 CATEGORIES=	graphics
 
 MAINTAINER=	yuri@FreeBSD.org
diff --git a/graphics/filament/distinfo b/graphics/filament/distinfo
index afd530df2972..fbdc1556c4bc 100644
--- a/graphics/filament/distinfo
+++ b/graphics/filament/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1684721878
-SHA256 (google-filament-v1.36.0_GH0.tar.gz) = 7c6b2a5c2b2d14d532d6c43ae3cb78754cfce5c739b9f9ca6b5e1af276b12573
-SIZE (google-filament-v1.36.0_GH0.tar.gz) = 500402413
+TIMESTAMP = 1685637225
+SHA256 (google-filament-v1.37.0_GH0.tar.gz) = 7d9504b19615975bf834c1e0225bc818145e16e0b59336938756f07d0906d8fb
+SIZE (google-filament-v1.37.0_GH0.tar.gz) = 500505901
diff --git a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
index f1497e65ba5d..d9c7385d548c 100644
--- a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
+++ b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
@@ -1,24 +1,15 @@
---- filament/backend/src/PlatformFactory.cpp.orig	2023-01-26 04:37:03 UTC
+--- filament/backend/src/PlatformFactory.cpp.orig	2023-05-30 23:22:31 UTC
 +++ filament/backend/src/PlatformFactory.cpp
-@@ -41,7 +41,7 @@
-     #if defined(FILAMENT_DRIVER_SUPPORTS_VULKAN)
-         #include "vulkan/PlatformVkCocoa.h"
+@@ -32,7 +32,7 @@
+     #if defined(FILAMENT_SUPPORTS_OPENGL) && !defined(FILAMENT_USE_EXTERNAL_GLES3) && !defined(FILAMENT_USE_SWIFTSHADER)
+         #include <backend/platforms/PlatformCocoaGL.h>
      #endif
 -#elif defined(__linux__)
 +#elif defined(__linux__) || defined(__FreeBSD__)
-     #if defined(FILAMENT_SUPPORTS_GGP)
-         #include "vulkan/PlatformVkLinuxGGP.h"
-     #elif defined(FILAMENT_SUPPORTS_WAYLAND)
-@@ -118,7 +118,7 @@ Platform* PlatformFactory::create(Backend* backend) no
-                 return new PlatformVkAndroid();
-             #elif defined(IOS)
-                 return new PlatformVkCocoaTouch();
--            #elif defined(__linux__)
-+            #elif defined(__linux__) || defined(__FreeBSD__)
-                 #if defined(FILAMENT_SUPPORTS_GGP)
-                     return new PlatformVkLinuxGGP();
-                 #elif defined(FILAMENT_SUPPORTS_WAYLAND)
-@@ -155,7 +155,7 @@ Platform* PlatformFactory::create(Backend* backend) no
+     #if defined(FILAMENT_SUPPORTS_X11)
+         #if defined(FILAMENT_SUPPORTS_OPENGL) && !defined(FILAMENT_USE_EXTERNAL_GLES3) && !defined(FILAMENT_USE_SWIFTSHADER)
+             #include "backend/platforms/PlatformGLX.h"
+@@ -120,7 +120,7 @@ Platform* PlatformFactory::create(Backend* backend) no
              return new PlatformCocoaTouchGL();
          #elif defined(__APPLE__)
              return new PlatformCocoaGL();
diff --git a/graphics/filament/files/patch-filament_backend_src_vulkan_platform_PlatformVulkanAndroidLinuxWindows.cpp b/graphics/filament/files/patch-filament_backend_src_vulkan_platform_PlatformVulkanAndroidLinuxWindows.cpp
new file mode 100644
index 000000000000..29208b26ecfd
--- /dev/null
+++ b/graphics/filament/files/patch-filament_backend_src_vulkan_platform_PlatformVulkanAndroidLinuxWindows.cpp
@@ -0,0 +1,54 @@
+- workaround for https://github.com/google/filament/issues/6861
+
+--- filament/backend/src/vulkan/platform/PlatformVulkanAndroidLinuxWindows.cpp.orig	2023-06-01 16:53:44 UTC
++++ filament/backend/src/vulkan/platform/PlatformVulkanAndroidLinuxWindows.cpp
+@@ -38,7 +38,7 @@
+             uint32_t height;
+         } wl;
+     }// anonymous namespace
+-#elif defined(__linux__) && defined(FILAMENT_SUPPORTS_X11)
++#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(FILAMENT_SUPPORTS_X11)
+     #include <dlfcn.h>
+     #if defined(FILAMENT_SUPPORTS_XCB)
+         #include <xcb/xcb.h>
+@@ -83,11 +83,11 @@ Driver* PlatformVulkan::createDriver(void* const share
+     static const char* requiredInstanceExtensions[] = {
+     #if defined(__ANDROID__)
+         "VK_KHR_android_surface",
+-    #elif defined(__linux__) && defined(FILAMENT_SUPPORTS_GGP)
++    #elif (defined(__linux__) || defined(__FreeBSD__)) && defined(FILAMENT_SUPPORTS_GGP)
+         VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME,
+     #elif defined(__linux__) && defined(FILAMENT_SUPPORTS_WAYLAND)
+         "VK_KHR_wayland_surface",
+-    #elif defined(__linux__) && defined(FILAMENT_SUPPORTS_X11)
++    #elif (defined(__linux__) || defined(__FreeBSD__)) && defined(FILAMENT_SUPPORTS_X11)
+         #if defined(FILAMENT_SUPPORTS_XCB)
+             "VK_KHR_xcb_surface",
+         #endif
+@@ -121,7 +121,7 @@ PlatformVulkan::SurfaceBundle PlatformVulkan::createVk
+         VkResult const result = vkCreateAndroidSurfaceKHR(instance, &createInfo, VKALLOC,
+                 (VkSurfaceKHR*) &bundle.surface);
+         ASSERT_POSTCONDITION(result == VK_SUCCESS, "vkCreateAndroidSurfaceKHR error.");
+-    #elif defined(__linux__) && defined(FILAMENT_SUPPORTS_GGP)
++    #elif (defined(__linux__) || defined(__FreeBSD__)) && defined(FILAMENT_SUPPORTS_GGP)
+         VkStreamDescriptorSurfaceCreateInfoGGP const surface_create_info = {
+                 .sType = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
+                 .streamDescriptor = kGgpPrimaryStreamDescriptor,
+@@ -135,7 +135,7 @@ PlatformVulkan::SurfaceBundle PlatformVulkan::createVk
+         VkResult const result = fpCreateStreamDescriptorSurfaceGGP(instance, &surface_create_info,
+                 nullptr, (VkSurfaceKHR*) &bundle.surface);
+         ASSERT_POSTCONDITION(result == VK_SUCCESS, "vkCreateStreamDescriptorSurfaceGGP error.");
+-    #elif defined(__linux__) && defined(FILAMENT_SUPPORTS_WAYLAND)
++    #elif (defined(__linux__) || defined(__FreeBSD__)) && defined(FILAMENT_SUPPORTS_WAYLAND)
+         wl* ptrval = reinterpret_cast<wl*>(nativeWindow);
+         bundle.width = ptrval->width;
+         bundle.height = ptrval->height;
+@@ -150,7 +150,7 @@ PlatformVulkan::SurfaceBundle PlatformVulkan::createVk
+         VkResult const result = vkCreateWaylandSurfaceKHR(instance, &createInfo, VKALLOC,
+                 (VkSurfaceKHR*) &bundle.surface);
+         ASSERT_POSTCONDITION(result == VK_SUCCESS, "vkCreateWaylandSurfaceKHR error.");
+-    #elif defined(__linux__) && defined(FILAMENT_SUPPORTS_X11)
++    #elif (defined(__linux__) || defined(__FreeBSD__)) && defined(FILAMENT_SUPPORTS_X11)
+         if (g_x11_vk.library == nullptr) {
+             g_x11_vk.library = dlopen(LIBRARY_X11, RTLD_LOCAL | RTLD_NOW);
+             ASSERT_PRECONDITION(g_x11_vk.library, "Unable to open X11 library.");
diff --git a/graphics/filament/files/patch-libs_utils_CMakeLists.txt b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
index 2deb894bd724..4e45fbc7aa4d 100644
--- a/graphics/filament/files/patch-libs_utils_CMakeLists.txt
+++ b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
@@ -1,7 +1,7 @@
---- libs/utils/CMakeLists.txt.orig	2022-08-16 18:01:04 UTC
+--- libs/utils/CMakeLists.txt.orig	2023-05-30 23:22:31 UTC
 +++ libs/utils/CMakeLists.txt
-@@ -81,8 +81,10 @@ if (ANDROID)
-     list(APPEND SRCS src/android/ThermalManager.cpp)
+@@ -82,8 +82,10 @@ if (ANDROID)
+     list(APPEND SRCS src/android/Systrace.cpp)
  endif()
  if (LINUX OR ANDROID)
 -    list(APPEND SRCS src/linux/Condition.cpp)