Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vkbasalt for openSUSE:Factory checked in at 2023-04-04 21:26:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vkbasalt (Old) and /work/SRC/openSUSE:Factory/.vkbasalt.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vkbasalt" Tue Apr 4 21:26:02 2023 rev:7 rq:1077082 version:0.3.2.9 Changes: -------- --- /work/SRC/openSUSE:Factory/vkbasalt/vkbasalt.changes 2023-01-04 17:55:08.303078336 +0100 +++ /work/SRC/openSUSE:Factory/.vkbasalt.new.19717/vkbasalt.changes 2023-04-04 21:26:20.631210577 +0200 @@ -1,0 +2,10 @@ +Sun Apr 2 06:21:13 UTC 2023 - Carsten Ziepke <kiel...@gmail.com> + +- update to v0.3.2.9: + * fixed build with latest Vulkan-Headers + * fixed crash when destroying VK_NULL_HANDLE instances, devices + and swapchains (affected mpv) +- Use gcc11-c++ for openSUSE Leap, otherwise temporarily gcc12-c++, + because build fails with gcc13-c++ + +------------------------------------------------------------------- Old: ---- vkBasalt-0.3.2.8.tar.gz New: ---- vkBasalt-0.3.2.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vkbasalt.spec ++++++ --- /var/tmp/diff_new_pack.Gk2ddL/_old 2023-04-04 21:26:21.511215572 +0200 +++ /var/tmp/diff_new_pack.Gk2ddL/_new 2023-04-04 21:26:21.519215618 +0200 @@ -1,7 +1,7 @@ # # spec file for package vkbasalt # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,13 @@ %define __builder ninja Name: vkbasalt -Version: 0.3.2.8 +Version: 0.3.2.9 Release: 0 Summary: Vulkan post processing layer License: Zlib URL: https://github.com/DadSchoorse/vkBasalt Source0: https://github.com/DadSchoorse/vkBasalt/archive/v%{version}.tar.gz#/vkBasalt-%{version}.tar.gz Source1: %{name}-rpmlintrc -BuildRequires: gcc-c++ >= 9 BuildRequires: glslang-devel BuildRequires: libX11-devel BuildRequires: meson @@ -33,6 +32,13 @@ BuildRequires: spirv-headers BuildRequires: spirv-tools BuildRequires: vulkan-headers +%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000 && 0%{?is_opensuse} +BuildRequires: gcc11 +BuildRequires: gcc11-c++ +%else +BuildRequires: gcc12 +BuildRequires: gcc12-c++ +%endif %description vkBasalt is a Vulkan post processing layer to enhance the visual graphics of games. @@ -41,6 +47,13 @@ %setup -q -n vkBasalt-%{version} %build +%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000 && 0%{?is_opensuse} +export CC="gcc-11" +export CXX="g++-11" +%else +export CC="gcc-12" +export CXX="g++-12" +%endif %meson %meson_build ++++++ vkBasalt-0.3.2.8.tar.gz -> vkBasalt-0.3.2.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkBasalt-0.3.2.8/src/basalt.cpp new/vkBasalt-0.3.2.9/src/basalt.cpp --- old/vkBasalt-0.3.2.8/src/basalt.cpp 2022-12-14 11:49:17.000000000 +0100 +++ new/vkBasalt-0.3.2.9/src/basalt.cpp 2023-03-02 20:15:57.000000000 +0100 @@ -41,6 +41,12 @@ #define VKBASALT_NAME "VK_LAYER_VKBASALT_post_processing" +#if defined(__GNUC__) && __GNUC__ >= 4 +#define VK_BASALT_EXPORT __attribute__((visibility("default"))) +#else +#error "Unsupported platform!" +#endif + namespace vkBasalt { std::shared_ptr<Config> pConfig = nullptr; @@ -67,9 +73,9 @@ return *(void**) inst; } - VK_LAYER_EXPORT VkResult VKAPI_CALL vkBasalt_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkInstance* pInstance) + VkResult VKAPI_CALL vkBasalt_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkInstance* pInstance) { VkLayerInstanceCreateInfo* layerCreateInfo = (VkLayerInstanceCreateInfo*) pCreateInfo->pNext; @@ -133,8 +139,11 @@ return ret; } - VK_LAYER_EXPORT void VKAPI_CALL vkBasalt_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) + void VKAPI_CALL vkBasalt_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) { + if (!instance) + return; + scoped_lock l(globalLock); Logger::trace("vkDestroyInstance"); @@ -148,10 +157,10 @@ instanceVersionMap.erase(GetKey(instance)); } - VK_LAYER_EXPORT VkResult VKAPI_CALL vkBasalt_CreateDevice(VkPhysicalDevice physicalDevice, - const VkDeviceCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkDevice* pDevice) + VkResult VKAPI_CALL vkBasalt_CreateDevice(VkPhysicalDevice physicalDevice, + const VkDeviceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDevice* pDevice) { scoped_lock l(globalLock); Logger::trace("vkCreateDevice"); @@ -283,8 +292,11 @@ return VK_SUCCESS; } - VK_LAYER_EXPORT void VKAPI_CALL vkBasalt_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) + void VKAPI_CALL vkBasalt_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) { + if (!device) + return; + scoped_lock l(globalLock); Logger::trace("vkDestroyDevice"); @@ -599,6 +611,9 @@ VKAPI_ATTR void VKAPI_CALL vkBasalt_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) { + if (!swapchain) + return; + scoped_lock l(globalLock); // we need to delete the infos of the oldswapchain @@ -693,6 +708,9 @@ VKAPI_ATTR void VKAPI_CALL vkBasalt_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) { + if (!image) + return; + scoped_lock l(globalLock); LogicalDevice* pLogicalDevice = deviceMap[GetKey(device)].get(); @@ -747,7 +765,7 @@ /////////////////////////////////////////////////////////////////////////////////////////// // Enumeration function - VK_LAYER_EXPORT VkResult VKAPI_CALL vkBasalt_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) + VkResult VKAPI_CALL vkBasalt_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) { if (pPropertyCount) *pPropertyCount = 1; @@ -763,16 +781,16 @@ return VK_SUCCESS; } - VK_LAYER_EXPORT VkResult VKAPI_CALL vkBasalt_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, - uint32_t* pPropertyCount, - VkLayerProperties* pProperties) + VkResult VKAPI_CALL vkBasalt_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, + uint32_t* pPropertyCount, + VkLayerProperties* pProperties) { return vkBasalt_EnumerateInstanceLayerProperties(pPropertyCount, pProperties); } - VK_LAYER_EXPORT VkResult VKAPI_CALL vkBasalt_EnumerateInstanceExtensionProperties(const char* pLayerName, - uint32_t* pPropertyCount, - VkExtensionProperties* pProperties) + VkResult VKAPI_CALL vkBasalt_EnumerateInstanceExtensionProperties(const char* pLayerName, + uint32_t* pPropertyCount, + VkExtensionProperties* pProperties) { if (pLayerName == NULL || std::strcmp(pLayerName, VKBASALT_NAME)) { @@ -787,10 +805,10 @@ return VK_SUCCESS; } - VK_LAYER_EXPORT VkResult VKAPI_CALL vkBasalt_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, - const char* pLayerName, - uint32_t* pPropertyCount, - VkExtensionProperties* pProperties) + VkResult VKAPI_CALL vkBasalt_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, + const char* pLayerName, + uint32_t* pPropertyCount, + VkExtensionProperties* pProperties) { // pass through any queries that aren't to us if (pLayerName == NULL || std::strcmp(pLayerName, VKBASALT_NAME)) @@ -817,8 +835,8 @@ extern "C" { // these are the entry points for the layer, so they need to be c-linkeable - VK_LAYER_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetDeviceProcAddr(VkDevice device, const char* pName); - VK_LAYER_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetInstanceProcAddr(VkInstance instance, const char* pName); + VK_BASALT_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetDeviceProcAddr(VkDevice device, const char* pName); + VK_BASALT_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetInstanceProcAddr(VkInstance instance, const char* pName); #define GETPROCADDR(func) \ if (!std::strcmp(pName, "vk" #func)) \ @@ -857,7 +875,7 @@ GETPROCADDR(BindImageMemory); \ } - VK_LAYER_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetDeviceProcAddr(VkDevice device, const char* pName) + VK_BASALT_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetDeviceProcAddr(VkDevice device, const char* pName) { if (vkBasalt::pConfig == nullptr) { @@ -872,7 +890,7 @@ } } - VK_LAYER_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetInstanceProcAddr(VkInstance instance, const char* pName) + VK_BASALT_EXPORT PFN_vkVoidFunction VKAPI_CALL vkBasalt_GetInstanceProcAddr(VkInstance instance, const char* pName) { if (vkBasalt::pConfig == nullptr) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkBasalt-0.3.2.8/src/meson.build new/vkBasalt-0.3.2.9/src/meson.build --- old/vkBasalt-0.3.2.8/src/meson.build 2022-12-14 11:49:17.000000000 +0100 +++ new/vkBasalt-0.3.2.9/src/meson.build 2023-03-02 20:15:57.000000000 +0100 @@ -56,5 +56,6 @@ link_with: [keyboard_input_x11_lib], include_directories : vkBasalt_include_path, dependencies : [x11_dep, reshade_dep], + gnu_symbol_visibility: 'hidden', install : true, install_dir : lib_dir)