import spirv-tools-2023.1-2.el9

This commit is contained in:
CentOS Sources 2023-03-28 12:12:19 +00:00 committed by Stepan Oksanichenko
parent 5d86b3f29e
commit ce8456f26f
4 changed files with 64 additions and 5 deletions

2
.gitignore vendored
View File

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

View File

@ -1 +1 @@
718b86c1f54457337e3f978dc781fbec3dc0a8c2 SOURCES/SPIRV-Tools-sdk-1.3.224.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,16 +1,17 @@
%undefine __cmake_in_source_build
%global sdkver 1.3.224.0
%global sdkver 1.3.239.0
Name: spirv-tools
Version: 2022.2
Release: 3%{?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/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
@ -87,6 +88,12 @@ Development files for %{name}
%{_libdir}/pkgconfig/SPIRV-Tools.pc
%changelog
* Wed Feb 15 2023 Dave Airlie <airlied@redhat.com> - 2023.1-2
- Restore spirv-tools ABI
* Wed Feb 15 2023 Dave Airlie <airlied@redhat.com> - 2023.1-1
- Update to 1.3.239.0 SDK release
* Fri Aug 26 2022 Dave Airlie <airlied@redhat.com> - 2022.2-3
- Update to 1.3.224.0 SDK release.