diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10b7801 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Vulkan-ValidationLayers-sdk-1.3.204.0.tar.gz diff --git a/.vulkan-validation-layers.metadata b/.vulkan-validation-layers.metadata new file mode 100644 index 0000000..089079d --- /dev/null +++ b/.vulkan-validation-layers.metadata @@ -0,0 +1 @@ +ee1bf12c2c1998a7a0495a1380b74f72ce276db4 SOURCES/Vulkan-ValidationLayers-sdk-1.3.204.0.tar.gz diff --git a/SOURCES/add-missing-export.patch b/SOURCES/add-missing-export.patch new file mode 100644 index 0000000..7137cd4 --- /dev/null +++ b/SOURCES/add-missing-export.patch @@ -0,0 +1,24 @@ +diff -up Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.cpp.dma Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.cpp +--- Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.cpp.dma 2021-08-07 08:13:46.344320103 +1000 ++++ Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.cpp 2021-08-07 08:14:22.130893289 +1000 +@@ -68,7 +68,7 @@ class ConfigFile { + + static ConfigFile layer_config; + +-string GetEnvironment(const char *variable) { ++VK_LAYER_EXPORT string GetEnvironment(const char *variable) { + #if !defined(__ANDROID__) && !defined(_WIN32) + const char *output = getenv(variable); + return output == NULL ? "" : output; +diff -up Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.h.dma Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.h +--- Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.h.dma 2021-08-07 08:14:04.352608540 +1000 ++++ Vulkan-ValidationLayers-sdk-1.2.182.0/layers/vk_layer_config.h 2021-08-07 08:14:15.237782885 +1000 +@@ -33,7 +33,7 @@ + #define SECONDARY_VK_REGISTRY_HIVE_STR "HKEY_CURRENT_USER" + #endif + +-std::string GetEnvironment(const char *variable); ++VK_LAYER_EXPORT std::string GetEnvironment(const char *variable); + + #ifdef __cplusplus + extern "C" { diff --git a/SOURCES/fix-spirv-tools-shared.patch b/SOURCES/fix-spirv-tools-shared.patch new file mode 100644 index 0000000..2c9b502 --- /dev/null +++ b/SOURCES/fix-spirv-tools-shared.patch @@ -0,0 +1,12 @@ +diff -up Vulkan-ValidationLayers-sdk-1.3.204.0/layers/CMakeLists.txt.dma Vulkan-ValidationLayers-sdk-1.3.204.0/layers/CMakeLists.txt +--- Vulkan-ValidationLayers-sdk-1.3.204.0/layers/CMakeLists.txt.dma 2022-02-16 12:57:50.396556235 +1000 ++++ Vulkan-ValidationLayers-sdk-1.3.204.0/layers/CMakeLists.txt 2022-02-16 12:57:54.312630300 +1000 +@@ -315,7 +315,7 @@ if(BUILD_LAYERS) + target_include_directories(VkLayer_khronos_validation PRIVATE ${SPIRV_HEADERS_INCLUDE_DIR}) + endif() + +- target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Tools-static SPIRV-Tools-opt) ++ target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Tools SPIRV-Tools-opt) + + + # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled diff --git a/SOURCES/fix_shared.patch b/SOURCES/fix_shared.patch new file mode 100644 index 0000000..8082da8 --- /dev/null +++ b/SOURCES/fix_shared.patch @@ -0,0 +1,12 @@ +diff -up Vulkan-ValidationLayers-sdk-1.1.92.0/CMakeLists.txt.dma Vulkan-ValidationLayers-sdk-1.1.92.0/CMakeLists.txt +--- Vulkan-ValidationLayers-sdk-1.1.92.0/CMakeLists.txt.dma 2019-02-13 09:20:44.590959278 +1000 ++++ Vulkan-ValidationLayers-sdk-1.1.92.0/CMakeLists.txt 2019-02-13 09:21:29.178151673 +1000 +@@ -294,7 +294,7 @@ set_target_properties(generate_helper_fi + # files directly in layers. + + add_library(VkLayer_utils +- STATIC ++ SHARED + layers/vk_layer_config.cpp + layers/vk_layer_extension_utils.cpp + layers/vk_layer_utils.cpp diff --git a/SOURCES/try-fix-headers.patch b/SOURCES/try-fix-headers.patch new file mode 100644 index 0000000..f08cca1 --- /dev/null +++ b/SOURCES/try-fix-headers.patch @@ -0,0 +1,11 @@ +diff -up Vulkan-ValidationLayers-sdk-1.3.204.0/CMakeLists.txt.dma Vulkan-ValidationLayers-sdk-1.3.204.0/CMakeLists.txt +--- Vulkan-ValidationLayers-sdk-1.3.204.0/CMakeLists.txt.dma 2022-02-16 12:29:43.131617038 +1000 ++++ Vulkan-ValidationLayers-sdk-1.3.204.0/CMakeLists.txt 2022-02-16 12:29:48.095711141 +1000 +@@ -256,7 +256,6 @@ if (USE_ROBIN_HOOD_HASHING) + endif() + endif() + +-set(SPIRV_HEADERS_INCLUDE_DIR "" CACHE STRING "") + if(BUILD_LAYERS OR BUILD_TESTS) + if (SPIRV_HEADERS_INCLUDE_DIR STREQUAL "") + find_package(SPIRV-Headers REQUIRED CONFIG) diff --git a/SPECS/vulkan-validation-layers.spec b/SPECS/vulkan-validation-layers.spec new file mode 100644 index 0000000..31c9aa9 --- /dev/null +++ b/SPECS/vulkan-validation-layers.spec @@ -0,0 +1,159 @@ +Name: vulkan-validation-layers +Version: 1.3.204.0 +Release: 1%{?dist} +Summary: Vulkan validation layers + +License: ASL 2.0 +URL: https://github.com/KhronosGroup/Vulkan-ValidationLayers +Source0: %url/archive/sdk-%{version}.tar.gz#/Vulkan-ValidationLayers-sdk-%{version}.tar.gz +Patch0: fix_shared.patch +Patch1: add-missing-export.patch +Patch2: try-fix-headers.patch +Patch3: fix-spirv-tools-shared.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake3 +BuildRequires: glslang-devel +BuildRequires: ninja-build +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: spirv-tools-devel +BuildRequires: spirv-headers-devel +BuildRequires: vulkan-loader-devel +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xcb) + +%description +Vulkan validation layers + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: vulkan-headers + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%prep +%autosetup -p1 -n Vulkan-ValidationLayers-sdk-%{version} + + +%build +# Decrease debuginfo verbosity to reduce memory consumption even more +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%global optflags %(echo %{optflags} | sed 's/-O2 /-O1 /') + +%cmake3 -DCMAKE_BUILD_TYPE=Release \ + -DGLSLANG_INSTALL_DIR=%{_prefix} \ + -DBUILD_LAYER_SUPPORT_FILES:BOOL=ON \ + -DUSE_ROBIN_HOOD_HASHING:BOOL=OFF \ + -DSPIRV_HEADERS_INSTALL_DIR=%{_includedir}/spirv \ + -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/vulkan/ +%cmake_build + + +%install +%cmake_install + + +%ldconfig_scriptlets + + +%files +%license LICENSE.txt +%doc README.md CONTRIBUTING.md LAYER_CONFIGURATION.md +%{_datadir}/vulkan/explicit_layer.d/*.json +%{_libdir}/libVkLayer_*.so + +%files devel +%{_includedir}/vulkan/ + +%changelog +* Fri Feb 25 2022 Dave Airlie - 1.3.204.0-1 +- Update to latest 1.3.204.0 + +* Tue Aug 10 2021 Mohan Boddu - 1.2.182.0-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Sat Aug 07 2021 Dave Airlie - 1.2.182.0-2 +- add missing GetEnvironment export + +* Fri Jul 30 2021 Dave Airlie - 1.2.182.0-1 +- Update to latest 1.2.182.0 sdk + +* Fri Apr 16 2021 Mohan Boddu - 1.2.162.0-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Fri Jan 29 2021 Dave Airlie - 1.2.162.0-1 +- Update to latest 1.2.162.0 release + +* Wed Jan 27 2021 Fedora Release Engineering - 1.2.154.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 17 2020 Adam Jackson - 1.2.154.0-2 +- Add LAYER_CONFIGURATION.md to the docs + +* Wed Nov 04 2020 Dave Airlie - 1.2.154.0-1 +- Update to 1.2.154.0 + +* Wed Aug 05 2020 Dave Airlie - 1.2.148.0-1 +- Update to 1.2.148.0 + +* Sat Aug 01 2020 Fedora Release Engineering - 1.2.135.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.2.135.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Apr 22 2020 Dave Airlie - 1.2.135.0-1 +- Update validation layers to 1.2.135.0 + +* Wed Jan 29 2020 Dave Airlie - 1.2.131.1-1 +- Update validation layers to 1.2.131.1 + +* Wed Nov 13 2019 Dave Airlie - 1.1.126.0-1 +- Update validation layers to 1.1.126.0 + +* Wed Jul 31 2019 Dave Airlie - 1.1.114.0-1 +- Update validation layers to 1.1.114.0 + +* Sat Jul 27 2019 Fedora Release Engineering - 1.1.108.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 25 2019 Dave Airlie - 1.1.108.0-1 +- Update valdiation layers to 1.1.108.0 + +* Wed Mar 06 2019 Dave Airlie - 1.1.101.0-1 +- Update valdiation layers to 1.1.101.0 + +* Wed Feb 13 2019 Dave Airlie - 1.1.97.0-1 +- Update validation layers to 1.1.97.0 + +* Wed Feb 13 2019 Dave Airlie - 1.1.92.0-1 +- Update validation layers to 1.1.92.0 + +* Sun Feb 03 2019 Fedora Release Engineering - 1.1.82.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Aug 07 2018 Leigh Scott - 1.1.82.0-1 +- Update to 1.1.82.0 + +* Sat Jul 14 2018 Fedora Release Engineering - 1.1.77.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 26 2018 Leigh Scott - 1.1.77.0-3 +- Workaround i686 build issue + +* Tue Jun 26 2018 Leigh Scott - 1.1.77.0-2 +- Exclude i686 due to 'virtual memory exhausted' FTBFS + +* Sat Jun 23 2018 Leigh Scott - 1.1.77.0-1 +- Initial package