SHA256
1
0
forked from pool/spirv-tools

- Update to release 2024.3

OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/spirv-tools?expand=0&rev=112
This commit is contained in:
Jan Engelhardt 2024-06-26 00:21:52 +00:00 committed by Git OBS Bridge
commit 36fdd980ae
8 changed files with 755 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

4
baselibs.conf Normal file
View File

@ -0,0 +1,4 @@
libSPIRV-Tools-2024_3
spirv-tools-devel
requires -spirv-tools-<targettype>
requires "libSPIRV-Tools-2024_3-<targettype> = <version>"

502
spirv-tools.changes Normal file
View File

@ -0,0 +1,502 @@
-------------------------------------------------------------------
Tue Jun 25 20:47:23 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.3
* Optimizer:
* Do not fold MUL and ADDs to generate FMAs
* Add AliasedPointer decoration
* Add support for vulkan-shader-profiler external passes
* Validator:
* Add support for OpExtInstWithForwardRefs
* Disassembler:
* Add decorations to comments
* Add --nested-indent and --reorder-blocks
-------------------------------------------------------------------
Fri Apr 12 18:57:59 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.1
* Version bump only
-------------------------------------------------------------------
Sun Mar 10 10:38:33 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.1~rc1
* Add tooling support for SPV_KHR_maximal_reconvergence,
SPV_KHR_float_controls2, SPV_KHR_quad_control,
SPV_NV_shader_atomic_fp16_vector, SPV_QCOM_image_processing2
* Fold 64-bit int operations
* Support operand kind for SPV_INTEL_maximum_registers
-------------------------------------------------------------------
Fri Dec 22 20:14:02 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2023.6~rc1
* spirv-val: Loosen restriction on base type of
DebugTypePointer and DebugTypeQualifier
* spirv-val: Add WorkgroupMemoryExplicitLayoutKHR check for Block
* opt: Add ComputeDerivativeGroup*NV capabilities to trim
capabilities pass
* opt: Do not crash when tryingto fold unsupported spec constant
* opt: support 64-bit OpAccessChain index in FixStorageClass
* opt: add StorageImageReadWithoutFormat to cap trim
* opt: add PhysicalStorageBufferAddresses to trim
-------------------------------------------------------------------
Fri Oct 27 04:03:44 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2023.5~rc1
* opt: add new trim passes
* SPV_QCOM_image_processing support
* Add SPV_EXT_fragment_shader_interlock and
SPV_KHR_physical_storage_buffer to allow lists
* Add a new legalization pass to dedupe invocation interlock
instructions
-------------------------------------------------------------------
Tue Aug 22 10:04:10 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2023.4~rc2
* Add SPV_NV_bindless_texture to spirv optimizations
* Add folding rule for OpTranspose
* spirv-diff: Leave undefined ids unpaired
* SPV_KHR_cooperative_matrix
* Validate GroupNonUniform instructions
* Add support for LiteralFloat type
* Add SPV_EXT_shader_atomic_float_add to allow lists
-------------------------------------------------------------------
Tue May 30 22:01:25 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2023.3~rc1
* Add spirv-dump tool
* Implement source extraction logic for spirv-objdump
* Add Vulkan memory model to allow lists
* Add default case for spv::Dim for TileImageEXT
* Add support for SPV_EXT_shader_tile_image
* opt: Fix null deref in OpMatrixTimesVector and OpVectorTimesMatrix
* Apply scalar replacement on vars with Pointer decorations
-------------------------------------------------------------------
Thu Mar 30 07:42:40 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2023.2
* spirv-val: Initial SPV_EXT_mesh_shader builtins
* Add C interface for Optimizer
-------------------------------------------------------------------
Wed Mar 29 18:42:49 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update buildrequires to match published dependency list
-------------------------------------------------------------------
Wed Jan 18 22:23:42 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2023.1
* Validate version 5 of clspv reflection
* Fix undef behaviour in hex float parsing
-------------------------------------------------------------------
Fri Dec 23 08:06:09 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2022.4+sdk236
* Only validate full layout in Vulkan environments
* Prevent eliminating case constructs in block merging
* Add pass to eliminate dead output components
* Add support for tesc, tese and geom to EliminateDead*Components
* Add option to ADCE to remove output variables from interface
-------------------------------------------------------------------
Mon Oct 24 19:46:06 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2022.4 (SDK-1.3.231.0)
* Add structs to eliminate dead input components
* spirv-val: Add SPV_KHR_ray_tracing storage class
* Improve algorithm to reorder blocks in a function
* spirv-val: Add initial SPV_EXT_mesh_shader validation
* spirv-val: Add SPV_ARM_core_builtins validation
* Support Narrow Types in BitCast Folding Rule
- Drop gcc48.diff, that compiler is long past its time.
- Drop 0001-Fix-array-copy-propagation-4890.patch (merged).
-------------------------------------------------------------------
Mon Aug 22 23:12:02 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2022.3~sdk224 (SDK-1.3.224.0)
* spirv-val: Add support for SPV_AMD_shader_early_and_late_fragment_tests
* Avoid replacing access chain with OOB access
* Avoid undefined divide-by-0
* Fixed crash unrolling loops with residual iterations
* Fix segfault in `SpirvTools::Disassemble` when printing
* Avoid undefined behaviour when getting debug opcode
* spirv-val: Add Vulkan decoration interface
* Implement SPV_NV_bindless_texture related changes
- Update to release 2022.3
* spirv-val: Add SPV_KHR_ray_tracing instructions
- Add 0001-Fix-array-copy-propagation-4890.patch
-------------------------------------------------------------------
Wed Jun 15 16:51:34 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to 2022.3~sdk216 (SDK-1.3.216.0)
* Add folding rule to generate Fma instructions
* Add support for SPV_KHR_subgroup_rotate
* spirv-val: Add CullMaskKHR support
* Add SPV_KHR_fragment_shader_barycentric support
* Add more folding for composite instructions
* spirv-val: Add PerVertexKHR
* Fold multiply and subtraction into FMA with negation
-------------------------------------------------------------------
Mon Apr 18 23:33:42 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to 2022.2 (SDK-1.3.211.0)
* Handle propagation of arrays with decorations
* spirv-opt: Add OpExecutionModeId support
* Support SPV_KHR_uniform_group_instructions
* Introduce spirv-diff
-------------------------------------------------------------------
Sat Feb 19 17:29:05 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to 2022.2~sdk204 (SDK-1.3.204.0)
* Complete handling of RayQueryKHR type
-------------------------------------------------------------------
Wed Jan 26 20:39:57 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2022.1
* Basic support for SPIR-V 1.6
* spirv-opt: add pass to Spread Volatile semantics
- Drop spirv-tools-big-endian.patch (merged)
-------------------------------------------------------------------
Thu Dec 9 19:09:40 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- Add upstream patch to fix issues on big endian platforms
(Needed to fix https://bugreports.qt.io/browse/QTBUG-93101)
* spirv-tools-big-endian.patch
-------------------------------------------------------------------
Thu Nov 11 19:40:52 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2021.4
* Improve decoration validation
* Add spirv-opt pass to replace descriptor accesses based on
variable indices
* Do not fold snegate feeding sdiv
-------------------------------------------------------------------
Mon Sep 6 05:13:36 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2021.3
* Support Intel extensions for fixed point and hls-float
* Add SPV_KHR_vulkan_memory_model to aggressive_dead_code_elim
* spirv-val: Vulkan Storage Class for Execution Model
* Support SPV_KHR_subgroup_uniform_control_flow
* Initial support for SPV_KHR_integer_dot_product
* Add validation for SPV_EXT_shader_atomic_float16_add
* Add non-semantic vulkan extended instruction set
* Don't fold unsigned divides of an constant and a negation
-------------------------------------------------------------------
Wed May 5 09:30:43 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2021.1
* Support SPV_KHR_linkonce_odr, SPV_KHR_expect_assume
* Fixes for the vscode language server extension
* Validator:
* Add validation for SPV_EXT_shader_atomic_float_min_max
* Add Vulkan Execution Scope checks
* Vulkan 64-bit OpAtomicStore check
-------------------------------------------------------------------
Thu Mar 18 14:20:22 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Add -Wno-error
-------------------------------------------------------------------
Thu Mar 11 14:00:16 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Bump SONAME because of ABI change underneath [boo#1183350].
This I had missed in the 2020.7 update.
-------------------------------------------------------------------
Mon Mar 1 06:56:04 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2020.7
* Support pending Intel extensions
* Remove WebGPU support
* Validator: add Vulkan EXT builtins
* Optimizer: Run DCE when SPV_KHR_shader_clock is used
-------------------------------------------------------------------
Tue Dec 8 12:30:46 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2020.6
* Take new (raytracing) termination instructions into account.
* Do run DCE if SPV_KHR_ray_query is used.
* Support SPV_KHR_fragment_shading_rate.
* Add validation support for the ray tracing built-in variables.
-------------------------------------------------------------------
Tue Aug 11 22:43:40 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2020.4
* Memory model support for SPIR-V 1.4
* Add new spirv-fuzz tool
* Instrument: Add version 2 of record formats
-------------------------------------------------------------------
Fri May 29 17:21:04 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2020.3
* spirv-fuzz: Add validator options
* Add unrolling to performance passes
* spirv-fuzz: Support bit width argument for int and float types
-------------------------------------------------------------------
Wed Apr 8 11:21:33 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2020.2
* Support extended instructions in the vscode language server.
* Make spvOpcodeString part of the public API.
* Add support for KHR_ray_{query,tracing} extensions.
* Add validation support for SPV_AMD_shader_image_load_store_lod.
-------------------------------------------------------------------
Thu Feb 20 10:10:56 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2020.1
* Add spvParseVulkanEnv
* Handle TimeAMD in AmdExtensionToKhrPass
-------------------------------------------------------------------
Sun Jan 19 11:04:32 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to snapshot 2020.1~git24 (323a81fc)
* Added basic Vulkan 1.2 support and validation of 1.2.
* spirv-fuzz: added fuzzer pass to perform module donation.
* Supports OpenCL.DebugInfo.100 extended instruction set.
* Added support for SPV_KHR_non_semantic_info.
* spirv-fuzz: Transformations to add types, constants and
variables, and to add a new function to a module.
* Made instrumentation format version 2 the default.
-------------------------------------------------------------------
Thu Dec 12 21:20:47 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2019.5
* Re-enable OpReadClockKHR validation
* spirv-fuzz: simplify transformation for replacing an id with
a synonym
* spirv-fuzz: Eliminate spurious semicolons
* Update Offset to ConstOffset bitmask if operand is constant
* Validate array stride does not cause overlap
* Fix operand access of composite in upgrade memory model
* Kill the id-to-func map after wrap-opkill
* Handle OpPhi with no in operands in value numbering
* Handle unreachable block when computing register pressure
* spirv-fuzz: Improve debugging facilities
* Validate nested constructs
* spirv-fuzz: Use validator to check break/continue dominance
conditions
* spirv-fuzz: function outlining fuzzer pass
-------------------------------------------------------------------
Thu Nov 7 09:03:03 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to snapshot 2019.5~git157
* Extend reducer to remove relaxed precision decorations
* SPIRV-Tools support for SPIR-V 1.5
* Add SPV_KHR_shader_clock validation
* Add fuzzer for spirv-dis call path
-------------------------------------------------------------------
Wed Aug 21 07:56:49 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new snapshot 2019.5~git11
* Add builtin validation for SPV_NV_shader_sm_builtins
* Add transformation to replace a boolean constant with a
numeric comparison
* Add validation for Subgroup builtins
* Add replayer tool for spirv-fuzz
* Validate Volatile memory semantics bit
* Add validation for SPV_EXT_demote_to_helper_invocation
* Add 'copy object' transformation
* Add SPV_EXT_physical_storage_buffer to opt whitelists
* Add descriptor array scalar replacement
-------------------------------------------------------------------
Tue Jun 4 12:23:07 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new snapshot 2019.4~git33
* Support SPIR-V 1.4
* Add library for spirv-fuzz
* Add spirv-fuzz tool.
* Add "split block" transformation.
* Add validation for SPV_EXT_fragment_shader_interlock
-------------------------------------------------------------------
Sun Mar 17 13:25:59 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new snapshot 2019.2.git25 (2ac348b5) to be in line
with current spirv-headers.
* Add --strip-atomic-counter-memory
* Add validation of storage classes for WebGPU
* Add validation for ExecutionMode in WebGPU
* Implement WebGPU specific CFG validation
* Allow NonWritable to target struct members
* Add validation for SPV_NV_cooperative_matrix
-------------------------------------------------------------------
Wed Feb 20 20:06:31 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 2019.2
* General:
* Support SPV_EXT_physical_storage_buffer
* Optimizer:
* Upgrade memory model improvments for modf and frexp.
* Add a new pass to move loads closer to their uses: code sinking.
* Invalidating the type manager now invalidates the constant
manager.
* Expand instrumentation pass for bindless bounds checking to
runtime-sized descriptor arrays.
* Add a new dead struct member elimination pass
* Validator:
* Support SPV_KHR_no_integer_wrap and related decorations.
* Validate Vulkan rules for OpTypeRuntimeArray.
* Validate NonWritable decoration.
* Many WebGPU specific validation rules were added.
* Validate variable pointer related function call rules.
-------------------------------------------------------------------
Mon Jan 7 21:33:03 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 2019.1
* Created a new tool called spirv-reduce.
* New optimization pass to update the memory model from GLSL450
to VulkanKHR.
* Recognize OpTypeAccelerationStructureNV as a type instruction
and ray tracing storage classes.
* Add --target-env flag to spirv-opt.
* Add --webgpu-mode flag to run optimizations for webgpu.
* Outupt disassembled line number instead of byte offset in
validation errors.
-------------------------------------------------------------------
Sat Nov 10 12:24:41 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 2018.6
* Added support for the Nvidia Turing and ray tracing extensions.
-------------------------------------------------------------------
Fri Aug 24 19:05:26 UTC 2018 - jengelh@inai.de
- Update to new upstream release 2018.4
* Added missing SPV extension strings.
* Taught DecorationManager about OpDecorateStringGOOGLE.
* Added recent Google extensions to optimizer whitelists.
* Added a loop peeling utility.
* Added Vulkan validation rules for BuiltIn variables and
Vulkan specific atomic result type restriction.
* New spirv-1.3 rules for control barrier.
* Added OpPhi validation rules.
* Use standard SPIR-V version scheme for version requirement.
* ZIV and SIV loop dependence analysis.
* Added a loop peeling pass, register liveness analysis,
a loop fusion pass, and the --strip-reflect pass.
* Support for SPV_KHR_8bit_storage.
-------------------------------------------------------------------
Wed Mar 28 10:20:48 UTC 2018 - meissner@suse.com
- add spirv-tools-devel for baselibs, for wine usage.
-------------------------------------------------------------------
Thu Mar 8 00:14:25 UTC 2018 - jengelh@inai.de
- Update to new upstream release 2018.2
* SubgroupBallotKHR can enable SubgroupSize & SubgroupLocalInvocationId
* Support SPIR-V 1.3 and Vulkan 1.1
-------------------------------------------------------------------
Wed Feb 7 22:22:02 UTC 2018 - jengelh@inai.de
- Update to new upstream release 2018.0
* Added OpenCL ExtInst validation rules
* Add adjacency validation pass
* Add memory semantics checks to validate atomics
* Allow relaxing validation of pointers in logical
addressing mode
-------------------------------------------------------------------
Thu Jan 4 15:47:38 UTC 2018 - tchvatal@suse.com
- Make sure to build just with python3
- Remove needles buildroot variable and default defattrs
- Use autopatch to apply patches
-------------------------------------------------------------------
Fri Nov 17 13:32:51 UTC 2017 - jengelh@inai.de
- Update to new snapshot 2017.0.g103
* Update MARK-V to version 1.01
* Add new checks to validate arithmetics pass
* Recognize SPV_AMD_shader_fragment_mask
* Add validate logicals pass to the validator
* Detach MARK-V from the validator
-------------------------------------------------------------------
Tue Jul 18 09:01:25 UTC 2017 - jengelh@inai.de
- Update to new snapshot 2016.7~g145
* Validation of type decls for SPV_KHR_16bit_storage
* Allow using FPRoundingMode when see VK_KHR_16bit_storage
* Validator parses and registers OpExtension
* Validator checks if operands require extension
* Validator dissallows unsupported Vulkan capability
* Update capability tests for SPV_KHR_16bit_storage rev 7
* Support SPV_AMD_gcn_shader
* Add FlattenDecoration transform
* Validator support for Variable Pointer extension.
* Support SPV_KHR_storage_buffer_storage_class
* Add SPIR-V 1.2 support, for OpenCL 2.2
* Added extension SPV_VALIDATOR_ignore_type_decl_unique
* Add support for SPV AMD extensions
* MARK-V decoder supports extended instructions
* DeadBranchElim: Improve algorithm to only remove blocks with
no predecessors
* Opt: Add new size-reduction passes to usage message.
* Add multi-sequence move-to-front implementation.
* Add MemPass, move all shared functions to it.
* Add CommonUniformElim pass.
* Mem2Reg: Allow Image and Sampler types as base target types.
-------------------------------------------------------------------
Mon Feb 20 15:48:52 UTC 2017 - jengelh@inai.de
- Update to new snapshot 2016.7~g28
* The Signedness in OpTypeInt must always be 0.
- Add baselibs.conf [needed by libvulkan1, needed by libgtk4-0]
-------------------------------------------------------------------
Thu Feb 2 10:35:57 UTC 2017 - jengelh@inai.de
- Update to new snapshot 2016.7~g24
* Add classes for representing SPIR-V language constructs in memory.
* Add an option to spvBinaryToText() to ignore header output.
* Add IrBuilder for constructing SPIR-V in-memory representation.
* Add Pass, PassManager, and StripDebugInfoPass.
* Add the spirv-opt command line tool.
* Fixes segfault for loops without back-edges
* Allow missing memory model instructions in modules.
* Add spirv-lesspipe.sh
* Add spirv-dis/spirv-as support for emacs when loading .spv binaries
- Add gcc48.diff
-------------------------------------------------------------------
Mon Jun 13 09:46:37 UTC 2016 - jengelh@inai.de
- Initial package (version 1.1) for build.opensuse.org
- Add ver.diff

112
spirv-tools.spec Normal file
View File

@ -0,0 +1,112 @@
#
# spec file for package spirv-tools
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _lto_cflags %nil
%define lname libSPIRV-Tools-2024_3
Name: spirv-tools
Version: 2024.3
Release: 0
Summary: API and commands for processing SPIR-V modules
License: Apache-2.0
Group: Development/Libraries/C and C++
URL: https://github.com/KhronosGroup/SPIRV-Tools
Source: https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v%version.tar.gz
Source9: baselibs.conf
Patch1: ver.diff
BuildRequires: bison
BuildRequires: cmake >= 3.17.2
%if 0%{?suse_version} >= 1599
BuildRequires: gcc-c++
%else
BuildRequires: gcc11-c++
%endif
BuildRequires: pkg-config
BuildRequires: python3-base
BuildRequires: python3-xml
BuildRequires: spirv-headers >= 1.6.1+sdk283+g8
%description
The package includes an assembler, binary module parser,
disassembler, and validator for SPIR-V.
%package -n %lname
Summary: SPIR-V tool component library
Group: System/Libraries
%description -n %lname
The SPIR-V Tool library contains all of the implementation details
driving the SPIR-V assembler, binary module parser, disassembler and
validator, and is used in the standalone tools whilst also enabling
integration into other code bases directly.
%package devel
Summary: Development headers for the SPIR-V tool library
Group: Development/Libraries/C and C++
Requires: %lname = %version
%description devel
The SPIR-V Tool library contains all of the implementation details
driving the SPIR-V assembler, binary module parser, disassembler and
validator, and is used in the standalone tools whilst also enabling
integration into other code bases directly.
%prep
%autosetup -p1 -n SPIRV-Tools-%version
find . -type f -name CMakeLists.txt -exec \
perl -i -pe 's{\@PACKAGE_VERSION\@}{%version}' CMakeLists.txt {} +
%build
%if 0%{?suse_version} && 0%{?suse_version} < 1599
export CXX=g++-11
%endif
%cmake -DSPIRV-Headers_SOURCE_DIR="%_prefix" \
-DSPIRV_TOOLS_BUILD_STATIC:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON
%cmake_build
%install
%cmake_install
perl -i -lpe 's{^#!/usr/bin/env sh$}{#!/bin/sh}' "%buildroot/%_bindir/spirv-lesspipe.sh"
for i in "" "-diff" "-link" "-lint" "-opt" "-reduce" "-shared"; do
ln -s "libSPIRV-Tools$i-%version.so" "%buildroot/%_libdir/libSPIRV-Tools$i.so"
done
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files
%_bindir/spirv-*
%doc LICENSE
%files -n %lname
%_libdir/libSPIRV-Tools-*2*.so
%files devel
%_libdir/cmake/
%_libdir/libSPIRV-Tools.so
%_libdir/libSPIRV-Tools-diff.so
%_libdir/libSPIRV-Tools-link.so
%_libdir/libSPIRV-Tools-lint.so
%_libdir/libSPIRV-Tools-opt.so
%_libdir/libSPIRV-Tools-reduce.so
%_libdir/libSPIRV-Tools-shared.so
%_libdir/pkgconfig/SPIRV-Tools.pc
%_libdir/pkgconfig/SPIRV-Tools-shared.pc
%_includedir/spirv-tools/
%changelog

3
v2024.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:137780e2a8b5c722888f9ec0fb553e6e92f38a0a5c7fcdad9b715152448b9d82
size 3171146

BIN
v2024.3.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

107
ver.diff Normal file
View File

@ -0,0 +1,107 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2016-06-13 11:46:16.846841814 +0200
Unversioned libraries suck!
---
source/CMakeLists.txt | 2 ++
source/diff/CMakeLists.txt | 1 +
source/fuzz/CMakeLists.txt | 1 +
source/link/CMakeLists.txt | 1 +
source/lint/CMakeLists.txt | 1 +
source/opt/CMakeLists.txt | 1 +
source/reduce/CMakeLists.txt | 1 +
7 files changed, 8 insertions(+)
Index: SPIRV-Tools-sdk-1.3.216.0/source/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/CMakeLists.txt
@@ -377,6 +377,7 @@ endfunction()
add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES})
spirv_tools_default_target_options(${SPIRV_TOOLS}-shared)
set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
+set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES OUTPUT_NAME "${SPIRV_TOOLS}-shared-@PACKAGE_VERSION@")
target_compile_definitions(${SPIRV_TOOLS}-shared
PRIVATE SPIRV_TOOLS_IMPLEMENTATION
PUBLIC SPIRV_TOOLS_SHAREDLIB
@@ -399,6 +400,7 @@ if(SPIRV_TOOLS_BUILD_STATIC)
set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-static ${SPIRV_TOOLS}-shared)
else()
add_library(${SPIRV_TOOLS} ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_SOURCES})
+ set_target_properties(${SPIRV_TOOLS} PROPERTIES OUTPUT_NAME "${SPIRV_TOOLS}-@PACKAGE_VERSION@")
spirv_tools_default_target_options(${SPIRV_TOOLS})
set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared)
endif()
Index: SPIRV-Tools-sdk-1.3.216.0/source/diff/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/diff/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/diff/CMakeLists.txt
@@ -36,6 +36,7 @@ target_link_libraries(SPIRV-Tools-diff
PUBLIC SPIRV-Tools-opt)
set_property(TARGET SPIRV-Tools-diff PROPERTY FOLDER "SPIRV-Tools libraries")
+set_target_properties(SPIRV-Tools-diff PROPERTIES OUTPUT_NAME "SPIRV-Tools-diff-@PACKAGE_VERSION@")
spvtools_check_symbol_exports(SPIRV-Tools-diff)
if(ENABLE_SPIRV_TOOLS_INSTALL)
Index: SPIRV-Tools-sdk-1.3.216.0/source/fuzz/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/fuzz/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/fuzz/CMakeLists.txt
@@ -439,6 +439,7 @@ if(SPIRV_BUILD_FUZZER)
spvtools_pch(SPIRV_TOOLS_FUZZ_SOURCES pch_source_fuzz)
add_library(SPIRV-Tools-fuzz ${SPIRV_TOOLS_FUZZ_SOURCES})
+ set_target_properties(SPIRV-Tools-fuzz PROPERTIES OUTPUT_NAME "SPIRV-Tools-fuzz-@PACKAGE_VERSION@")
spvtools_default_compile_options(SPIRV-Tools-fuzz)
Index: SPIRV-Tools-sdk-1.3.216.0/source/link/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/link/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/link/CMakeLists.txt
@@ -14,6 +14,7 @@
add_library(SPIRV-Tools-link ${SPIRV_TOOLS_LIBRARY_TYPE}
linker.cpp
)
+set_target_properties(SPIRV-Tools-link PROPERTIES OUTPUT_NAME "SPIRV-Tools-link-@PACKAGE_VERSION@")
spvtools_default_compile_options(SPIRV-Tools-link)
target_include_directories(SPIRV-Tools-link
Index: SPIRV-Tools-sdk-1.3.216.0/source/lint/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/lint/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/lint/CMakeLists.txt
@@ -27,6 +27,7 @@ endif()
add_library(SPIRV-Tools-lint ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_LINT_SOURCES})
+set_target_properties(SPIRV-Tools-lint PROPERTIES OUTPUT_NAME "SPIRV-Tools-lint-@PACKAGE_VERSION@")
spvtools_default_compile_options(SPIRV-Tools-lint)
target_include_directories(SPIRV-Tools-lint
PUBLIC
Index: SPIRV-Tools-sdk-1.3.216.0/source/opt/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/opt/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/opt/CMakeLists.txt
@@ -249,6 +249,7 @@ spvtools_pch(SPIRV_TOOLS_OPT_SOURCES pch
add_library(SPIRV-Tools-opt ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_OPT_SOURCES})
+set_target_properties(SPIRV-Tools-opt PROPERTIES OUTPUT_NAME "SPIRV-Tools-opt-@PACKAGE_VERSION@")
spvtools_default_compile_options(SPIRV-Tools-opt)
target_include_directories(SPIRV-Tools-opt
PUBLIC
Index: SPIRV-Tools-sdk-1.3.216.0/source/reduce/CMakeLists.txt
===================================================================
--- SPIRV-Tools-sdk-1.3.216.0.orig/source/reduce/CMakeLists.txt
+++ SPIRV-Tools-sdk-1.3.216.0/source/reduce/CMakeLists.txt
@@ -92,6 +92,7 @@ target_include_directories(SPIRV-Tools-r
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PRIVATE ${spirv-tools_BINARY_DIR}
)
+set_target_properties(SPIRV-Tools-reduce PROPERTIES OUTPUT_NAME "SPIRV-Tools-reduce-@PACKAGE_VERSION@")
# The reducer reuses a lot of functionality from the SPIRV-Tools library.
target_link_libraries(SPIRV-Tools-reduce
PUBLIC ${SPIRV_TOOLS_FULL_VISIBILITY}