git: 4e6771047102 - main - graphics/vulkan-headers: unbreak 32-bit consumers after 4868165d658c

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Fri, 06 Dec 2024 19:36:54 UTC
The branch main has been updated by jbeich:

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

commit 4e677104710264cca16b92b544cc2829a3d0d357
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-12-05 13:24:21 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-12-06 19:36:36 +0000

    graphics/vulkan-headers: unbreak 32-bit consumers after 4868165d658c
    
    In file included from /usr/local/include/vulkan/vulkan.hpp:8864:
    /usr/local/include/vulkan/vulkan_structs.hpp:1241:90: error: invalid operands to binary expression ('const vk::AccelerationStructureKHR' and 'const vk::AccelerationStructureKHR')
     1241 |       return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure ) &&
          |                                                                    ~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Reported by:    pkg-fallout (benchmarks/vkmark, emulators/flycast)
---
 graphics/vulkan-headers/Makefile          |  1 +
 graphics/vulkan-headers/files/patch-32bit | 62 +++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+)

diff --git a/graphics/vulkan-headers/Makefile b/graphics/vulkan-headers/Makefile
index d8b74a877a4d..c0c578caf341 100644
--- a/graphics/vulkan-headers/Makefile
+++ b/graphics/vulkan-headers/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	vulkan-headers
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.4.303
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 MAINTAINER=	jbeich@FreeBSD.org
diff --git a/graphics/vulkan-headers/files/patch-32bit b/graphics/vulkan-headers/files/patch-32bit
new file mode 100644
index 000000000000..2413e6fe2618
--- /dev/null
+++ b/graphics/vulkan-headers/files/patch-32bit
@@ -0,0 +1,62 @@
+https://github.com/KhronosGroup/Vulkan-Hpp/commit/c2c49478e9f2
+https://github.com/KhronosGroup/Vulkan-Hpp/issues/2009
+
+--- include/vulkan/vulkan_handles.hpp.orig	2024-12-04 08:19:07 UTC
++++ include/vulkan/vulkan_handles.hpp
+@@ -17706,5 +17706,56 @@ namespace VULKAN_HPP_NAMESPACE
+   VULKAN_HPP_NODISCARD typename ResultValueType<uint32_t>::type enumerateInstanceVersion( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT );
+ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
+ 
++// operators to compare vk::-handles
++#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator<=>( T const & lhs, T const & rhs )
++{
++  return static_cast<typename T::NativeType>( lhs ) <=> static_cast<typename T::NativeType>( rhs );
++}
++#else
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator==( T const & lhs, T const & rhs )
++{
++  return static_cast<typename T::NativeType>( lhs ) == static_cast<typename T::NativeType>( rhs );
++}
++
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator!=( T const & lhs, T const & rhs )
++{
++  return static_cast<typename T::NativeType>( lhs ) != static_cast<typename T::NativeType>( rhs );
++}
++
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator<( T const & lhs, T const & rhs )
++{
++  return static_cast<typename T::NativeType>( lhs ) < static_cast<typename T::NativeType>( rhs );
++}
++#endif
++
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator==( T const & v, std::nullptr_t )
++{
++  return !v;
++}
++
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator==( std::nullptr_t, T const & v )
++{
++  return !v;
++}
++
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator!=( T const & v, std::nullptr_t )
++{
++  return !!v;
++}
++
++template <typename T, typename std::enable_if<VULKAN_HPP_NAMESPACE::isVulkanHandleType<T>::value, int>::type = 0>
++bool operator!=( std::nullptr_t, T const & v )
++{
++  return !!v;
++}
++
+ }  // namespace VULKAN_HPP_NAMESPACE
+ #endif