Compare commits

...

No commits in common. "c8" and "imports/c9-beta/spirv-tools-2023.1-2.el9" have entirely different histories.

6 changed files with 119 additions and 64 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/SPIRV-Tools-sdk-1.3.283.0.tar.gz
SOURCES/SPIRV-Tools-sdk-1.3.239.0.tar.gz

View File

@ -1 +1 @@
b96c7ad5e38f678a16b3e3f0fb7be5f98178b036 SOURCES/SPIRV-Tools-sdk-1.3.283.0.tar.gz
86216f8f5c49ab1625f71b5b5f758602334bf45d SOURCES/SPIRV-Tools-sdk-1.3.239.0.tar.gz

View File

@ -0,0 +1,52 @@
From 743578474de0736850286c2c6d2b796a923b1a7c Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Wed, 15 Feb 2023 16:50:24 +1000
Subject: [PATCH] opt: fix spirv ABI on Linux again.
Breaking the ABI for this API isn't worth it when the fix is so simple.
---
include/spirv-tools/optimizer.hpp | 6 ++++--
source/opt/optimizer.cpp | 10 ++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/include/spirv-tools/optimizer.hpp b/include/spirv-tools/optimizer.hpp
index aa6a614e..8bdd4e82 100644
--- a/include/spirv-tools/optimizer.hpp
+++ b/include/spirv-tools/optimizer.hpp
@@ -525,8 +525,10 @@ Optimizer::PassToken CreateDeadInsertElimPass();
// If |remove_outputs| is true, allow outputs to be removed from the interface.
// This is only safe if the caller knows that there is no corresponding input
// variable in the following shader. It is false by default.
-Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface = false,
- bool remove_outputs = false);
+Optimizer::PassToken CreateAggressiveDCEPass();
+Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface);
+Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface,
+ bool remove_outputs);
// Creates a remove-unused-interface-variables pass.
// Removes variables referenced on the |OpEntryPoint| instruction that are not
diff --git a/source/opt/optimizer.cpp b/source/opt/optimizer.cpp
index cbc4b82f..46a92dd9 100644
--- a/source/opt/optimizer.cpp
+++ b/source/opt/optimizer.cpp
@@ -785,6 +785,16 @@ Optimizer::PassToken CreateLocalMultiStoreElimPass() {
MakeUnique<opt::SSARewritePass>());
}
+Optimizer::PassToken CreateAggressiveDCEPass() {
+ return MakeUnique<Optimizer::PassToken::Impl>(
+ MakeUnique<opt::AggressiveDCEPass>(false, false));
+}
+
+Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface) {
+ return MakeUnique<Optimizer::PassToken::Impl>(
+ MakeUnique<opt::AggressiveDCEPass>(preserve_interface, false));
+}
+
Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface,
bool remove_outputs) {
return MakeUnique<Optimizer::PassToken::Impl>(
--
2.39.1

View File

@ -1,12 +0,0 @@
diff -up SPIRV-Tools-45dd184c790d6bfc78a5a74a10c37e888b1823fa/source/spirv_target_env.cpp.dma ./SPIRV-Tools-45dd184c790d6bfc78a5a74a10c37e888b1823fa/source/spirv_target_env.cpp
--- SPIRV-Tools-45dd184c790d6bfc78a5a74a10c37e888b1823fa/source/spirv_target_env.cpp.dma 2022-02-16 08:20:38.927239298 +1000
+++ SPIRV-Tools-45dd184c790d6bfc78a5a74a10c37e888b1823fa/source/spirv_target_env.cpp 2022-02-16 08:20:42.262301854 +1000
@@ -397,6 +397,8 @@ std::string spvLogStringForEnv(spv_targe
return "Unknown";
}
+// workaround gcc12/stdlibc++ -Wrestrict bug.
+#pragma GCC diagnostic ignored "-Wrestrict"
std::string spvTargetEnvList(const int pad, const int wrap) {
std::string ret;
size_t max_line_len = wrap - pad; // The first line isn't padded

View File

@ -1,13 +0,0 @@
diff -up SPIRV-Tools-sdk-1.3.250.1/CMakeLists.txt.dma SPIRV-Tools-sdk-1.3.250.1/CMakeLists.txt
diff -up SPIRV-Tools-sdk-1.3.250.1/tools/CMakeLists.txt.dma SPIRV-Tools-sdk-1.3.250.1/tools/CMakeLists.txt
--- SPIRV-Tools-sdk-1.3.250.1/tools/CMakeLists.txt.dma 2023-07-12 15:03:54.303896734 +1000
+++ SPIRV-Tools-sdk-1.3.250.1/tools/CMakeLists.txt 2023-07-12 15:05:46.480030301 +1000
@@ -74,7 +74,7 @@ if (NOT ${SPIRV_SKIP_EXECUTABLES})
objdump/extract_source.cpp
util/cli_consumer.cpp
${COMMON_TOOLS_SRCS}
- LIBS ${SPIRV_TOOLS_FULL_VISIBILITY})
+ LIBS ${SPIRV_TOOLS_FULL_VISIBILITY} stdc++fs)
target_include_directories(spirv-objdump PRIVATE ${spirv-tools_SOURCE_DIR}
${SPIRV_HEADER_INCLUDE_DIR})
set(SPIRV_INSTALL_TARGETS ${SPIRV_INSTALL_TARGETS} spirv-objdump)

View File

@ -1,19 +1,17 @@
%undefine __cmake_in_source_build
%global sdkver 1.3.283.0
%global sdkver 1.3.239.0
Name: spirv-tools
Version: 2024.2
Release: 1%{?gitrel}%{?dist}
Version: 2023.1
Release: 2%{?gitrel}%{?dist}
Summary: API and commands for processing SPIR-V modules
License: ASL 2.0
URL: https://github.com/KhronosGroup/SPIRV-Tools
Source0: %url/archive/vulkan-sdk-%{sdkver}.tar.gz#/SPIRV-Tools-sdk-%{sdkver}.tar.gz
Patch0: rhel8-workaround.patch
Patch1: fix-gcc12-build.patch
Source0: %url/archive/sdk-%{sdkver}.tar.gz#/SPIRV-Tools-sdk-%{sdkver}.tar.gz
Patch0: 0001-opt-fix-spirv-ABI-on-Linux-again.patch
BuildRequires: cmake3
BuildRequires: gcc-c++
BuildRequires: ninja-build
@ -45,7 +43,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Development files for %{name}
%prep
%autosetup -p1 -n SPIRV-Tools-vulkan-sdk-%{sdkver}
%autosetup -p1 -n SPIRV-Tools-sdk-%{sdkver}
%build
%cmake3 -DCMAKE_BUILD_TYPE=Release \
@ -70,7 +68,6 @@ Development files for %{name}
%{_bindir}/spirv-lesspipe.sh
%{_bindir}/spirv-link
%{_bindir}/spirv-lint
%{_bindir}/spirv-objdump
%{_bindir}/spirv-opt
%{_bindir}/spirv-reduce
%{_bindir}/spirv-val
@ -91,50 +88,81 @@ Development files for %{name}
%{_libdir}/pkgconfig/SPIRV-Tools.pc
%changelog
* Tue Sep 10 2024 José Expósito <jexposit@redhat.com> - 1.3.283.0-1
- Update to 1.3.283.0 SDK
Resolves: https://issues.redhat.com/browse/RHEL-54285
* Wed Jul 12 2023 Dave Airlie <airlied@redhat.com> - 2023.1-3
- Update to 1.3.250.1 SDK version
* Wed Feb 15 2023 Dave Airlie <airlied@redhat.com> - 2023.1-2
- fix spirv-tools ABI break
- Restore spirv-tools ABI
* Mon Feb 13 2023 Dave Airlie <airlied@redhat.com> - 2023.1-1
- Update to 1.3.239.0 SDK version
* Wed Feb 15 2023 Dave Airlie <airlied@redhat.com> - 2023.1-1
- Update to 1.3.239.0 SDK release
* Wed Aug 24 2022 Dave Airlie <airlied@redhat.com> - 2022.2-2
- Update to 1.3.224.0 SDK version
* Fri Aug 26 2022 Dave Airlie <airlied@redhat.com> - 2022.2-3
- Update to 1.3.224.0 SDK release.
* Mon Jun 20 2022 Dave Airlie <airlied@redhat.com> - 2022.2-1
- Update to 1.3.216.0 SDK version
* Wed Jun 22 2022 Dave Airlie <airlied@redhat.com> - 2022.2-2
- Update to 1.3.216.0 SDK release.
* Mon Feb 21 2022 Dave Airlie <airlied@redhat.com> - 2022.1-1
- Update to 1.3.204.0 SDK version
* Sat Feb 26 2022 Dave Airlie <airlied@redhat.com> - 2022.1-2.20220202.git45dd184
- workaround build problem bump
* Thu Jan 28 2021 Dave Airlie <airlied@redhat.com> - 2020.5-3
* Fri Feb 25 2022 Dave Airlie <airlied@redhat.com> - 2022.1-1.20220202.git45dd184
- Update to 1.3.204.0 SDK Version
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2021.2-2.20210619.git5dd2f76
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jul 30 2021 Dave Airlie <airlied@redhat.com> - 2021.2-1
- Update to 1.2.182.0 SDK Version
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2020.5-6.20201208.gitb27b1af
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Jan 28 2021 Dave Airlie <airlied@redhat.com> - 2020.5-5
- Update to 1.2.162.0 SDK version
* Wed Aug 05 2020 Dave Airlie <airlied@redhat.com> - 2020.5-1
- update to latest upstream
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2020.5-4.20201031.gitf7da527
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Dec 04 2020 Jeff Law <law@redhat.com> - 2020.5-3.20201031.gitf7da5277
- Fix undesirable strncpy call to instead use memcpy to avoid
gcc-11 diagnostic
* Mon Nov 02 2020 Dave Airlie <airlied@redhat.com> - 2020.5-2.20201031.gitf7da5277
- update to latest spirv-tools
* Tue Aug 04 2020 Dave Airlie <airlied@redhat.com> - 2029.5-1.20200803.git92a71657
- update to latest spirv-tools
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2019.5-3.20200421.git67f4838
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Apr 22 2020 Dave Airlie <airlied@redhat.cvom> - 2019.5-2
- git snapshot for newer glslang/validation layers
* Wed Jan 29 2020 Dave Airlie <airlied@redhat.com> - 2019.5-1
- update to latest upstream
* Sat Dec 07 2019 Dave Airlie <airlied@redhat.com> - 2019.4-2
- rebuild for 8.2.0
- git snapshot for newer glslang/validation layers
* Tue Nov 12 2019 Dave Airlie <airlied@redhat.com> - 2019.4-1
- latest upstream snapshot
- git snapshot for newer glslang/validation layers
* Sun Aug 04 2019 Dave Airlie <airlied@redhat.com> - 2019.4-0.1
- Update to latest upstream for glslang
- drop spirv-stats as per upstream.
* Thu Aug 01 2019 Dave Airlie <airlied@redhat.com> - 2019.4-0.1
- git snapshot to let newer vulkan validation layers build
- stats removed upstream
* Thu Mar 07 2019 Dave Airlie <airlied@redhat.com> - 2019.1-1
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2019.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jun 10 13:46:33 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 2019.3-1
- Release 2019.3
* Thu Mar 07 2019 Dave Airlie <airlied@redhat.com> - 2019.1-2
- Add patch to let vulkan-validation-layers build
* Mon Feb 04 2019 Dave Airlie <airlied@redhat.com> - 2019.1-1
- Update to 2019.1 release
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2018.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jul 23 2018 Leigh Scott <leigh123linux@googlemail.com> - 2018.4-1
- Update to 2018.4 release