From 03897698c9b2a2653e22b2e061af41243789984477576038e03243e616460777 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Tue, 8 Oct 2024 16:23:39 +0000 Subject: [PATCH 1/2] [info=1cffec9d73a474b19ad5032867a7d4bdb3c3a1ae4fc44bd2fbf0cc667e04af79] OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/spirv-tools?expand=0&rev=114 --- .gitattributes | 23 + .gitignore | 1 + ...pointers-Fix-verification-for-OpenCL.patch | 73 +++ _scmsync.obsinfo | 4 + baselibs.conf | 4 + build.specials.obscpio | 3 + spirv-tools.changes | 521 ++++++++++++++++++ spirv-tools.spec | 113 ++++ v2024.1.tar.gz | 3 + v2024.3.tar.gz | 3 + v2024.4.rc1.tar.gz | 3 + ver.diff | 107 ++++ 12 files changed, 858 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch create mode 100644 _scmsync.obsinfo create mode 100644 baselibs.conf create mode 100644 build.specials.obscpio create mode 100644 spirv-tools.changes create mode 100644 spirv-tools.spec create mode 100644 v2024.1.tar.gz create mode 100644 v2024.3.tar.gz create mode 100644 v2024.4.rc1.tar.gz create mode 100644 ver.diff diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch b/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch new file mode 100644 index 0000000..ee6979d --- /dev/null +++ b/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch @@ -0,0 +1,73 @@ +From 01c8438ee4ac52c248119b7e03e0b021f853b51a Mon Sep 17 00:00:00 2001 +From: Viktoria Maximova +Date: Fri, 20 Sep 2024 17:31:46 +0200 +Subject: [PATCH] [SPV_KHR_untyped_pointers] Fix verification for OpenCL.std + instructions (#5810) + +Allow `p` to be untyped pointer for `fract`, `frexp`, `lgamma_r`, +`modf`, `remquo`, and `sincos`. + +``` +operand must be a pointer(p1, ...).If it is a typed pointer, it must +point to data types. + +``` + +https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_untyped_pointers.html#_modifications_to_the_opencl_std_extended_instruction_set +--- + source/val/validate_extensions.cpp | 10 ++++++---- + source/val/validate_memory.cpp | 4 +++- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/source/val/validate_extensions.cpp b/source/val/validate_extensions.cpp +index e26df288..74974a4f 100644 +--- a/source/val/validate_extensions.cpp ++++ b/source/val/validate_extensions.cpp +@@ -1980,7 +1980,7 @@ spv_result_t ValidateExtInst(ValidationState_t& _, const Instruction* inst) { + "CrossWorkgroup, Workgroup or Function"; + } + +- if (result_type != p_data_type) { ++ if (!_.ContainsUntypedPointer(p_type) && result_type != p_data_type) { + return _.diag(SPV_ERROR_INVALID_DATA, inst) + << ext_inst_name() << ": " + << "expected data type of the pointer to be equal to Result " +@@ -2042,15 +2042,17 @@ spv_result_t ValidateExtInst(ValidationState_t& _, const Instruction* inst) { + "CrossWorkgroup, Workgroup or Function"; + } + +- if (!_.IsIntScalarOrVectorType(p_data_type) || +- _.GetBitWidth(p_data_type) != 32) { ++ if ((!_.IsIntScalarOrVectorType(p_data_type) || ++ _.GetBitWidth(p_data_type) != 32) && ++ !_.ContainsUntypedPointer(p_type)) { + return _.diag(SPV_ERROR_INVALID_DATA, inst) + << ext_inst_name() << ": " + << "expected data type of the pointer to be a 32-bit int " + "scalar or vector type"; + } + +- if (_.GetDimension(p_data_type) != num_components) { ++ if (!_.ContainsUntypedPointer(p_type) && ++ _.GetDimension(p_data_type) != num_components) { + return _.diag(SPV_ERROR_INVALID_DATA, inst) + << ext_inst_name() << ": " + << "expected data type of the pointer to have the same number " +diff --git a/source/val/validate_memory.cpp b/source/val/validate_memory.cpp +index 9bfa3c21..a9ae3644 100644 +--- a/source/val/validate_memory.cpp ++++ b/source/val/validate_memory.cpp +@@ -463,7 +463,9 @@ spv_result_t ValidateVariable(ValidationState_t& _, const Instruction* inst) { + const auto initializer_id = inst->GetOperandAs(initializer_index); + const auto initializer = _.FindDef(initializer_id); + const auto is_module_scope_var = +- initializer && (initializer->opcode() == spv::Op::OpVariable) && ++ initializer && ++ (initializer->opcode() == spv::Op::OpVariable || ++ initializer->opcode() == spv::Op::OpUntypedVariableKHR) && + (initializer->GetOperandAs(storage_class_index) != + spv::StorageClass::Function); + const auto is_constant = +-- +2.46.1 + diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..066e9b4 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1728404600 +commit: 1cffec9d73a474b19ad5032867a7d4bdb3c3a1ae4fc44bd2fbf0cc667e04af79 +url: https://src.opensuse.org/jengelh/spirv-tools +revision: master diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..95774b1 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libSPIRV-Tools-2024_4_rc1 +spirv-tools-devel + requires -spirv-tools- + requires "libSPIRV-Tools-2024_4_rc1- = " diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..d3c8735 --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11576f5e39de66c8afba5ecb8cbcc6b061e9533cee3e9b6644762fc69c359287 +size 256 diff --git a/spirv-tools.changes b/spirv-tools.changes new file mode 100644 index 0000000..b5ee4a8 --- /dev/null +++ b/spirv-tools.changes @@ -0,0 +1,521 @@ +------------------------------------------------------------------- +Tue Oct 8 16:12:56 UTC 2024 - Jan Engelhardt + +- Update to release 2024.4~rc1 + * Add knowledge of cooperative matrices + * Add FPEncoding operand type + * Allow for empty list of enums for an operand + * Support SPV_KHR_untyped_pointers + * properly handle the load and store cache control operand types + * spirv-link: allow linking functions with different pointer arguments + * Allow ArrayStride on untyped pointers + * [OPT] Add SPV_KHR_ray_tracing_position_fetch to allow lists + * Validate presence of Stride operand to OpCooperativeMatrix{Load,Store}KHR + * [SPV_KHR_untyped_pointers] Fix verification of vload/vstore OpenCL.std instructions + * spirv-opt: make traversal deterministic + * add support for SPV_INTEL_global_variable_host_access +- Add 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch + for shaderc. + +------------------------------------------------------------------- +Tue Jun 25 20:47:23 UTC 2024 - Jan Engelhardt + +- 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 + +- Update to release 2024.1 + * Version bump only + +------------------------------------------------------------------- +Sun Mar 10 10:38:33 UTC 2024 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Update buildrequires to match published dependency list + +------------------------------------------------------------------- +Wed Jan 18 22:23:42 UTC 2023 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Add -Wno-error + +------------------------------------------------------------------- +Thu Mar 11 14:00:16 UTC 2021 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Update to release 2020.1 + * Add spvParseVulkanEnv + * Handle TimeAMD in AmdExtensionToKhrPass + +------------------------------------------------------------------- +Sun Jan 19 11:04:32 UTC 2020 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 diff --git a/spirv-tools.spec b/spirv-tools.spec new file mode 100644 index 0000000..9eccab1 --- /dev/null +++ b/spirv-tools.spec @@ -0,0 +1,113 @@ +# +# 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.4~rc1 +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/v2024.4.rc1.tar.gz +Source9: baselibs.conf +Patch1: ver.diff +Patch2: 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch +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-2024.4.rc1 +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 diff --git a/v2024.1.tar.gz b/v2024.1.tar.gz new file mode 100644 index 0000000..43d04db --- /dev/null +++ b/v2024.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:137780e2a8b5c722888f9ec0fb553e6e92f38a0a5c7fcdad9b715152448b9d82 +size 3171146 diff --git a/v2024.3.tar.gz b/v2024.3.tar.gz new file mode 100644 index 0000000..3d7bc3f --- /dev/null +++ b/v2024.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3961edff3410599112a50bfcda2d4a828f7cb12e8294ee0f6169976ef0532b83 +size 3169316 diff --git a/v2024.4.rc1.tar.gz b/v2024.4.rc1.tar.gz new file mode 100644 index 0000000..655c513 --- /dev/null +++ b/v2024.4.rc1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f44b9bc780a5b8c54637b722e4f9f2a2b7dd04840a79890dd4bcf615faf6b0c +size 3194161 diff --git a/ver.diff b/ver.diff new file mode 100644 index 0000000..4fb767d --- /dev/null +++ b/ver.diff @@ -0,0 +1,107 @@ +From: Jan Engelhardt +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 + $ + 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} From f8f8ef874ad7b1ef4c88f51bf39422330f2ae00dc31adfafb5f5c804b5abfd96 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Tue, 8 Oct 2024 20:00:25 +0000 Subject: [PATCH 2/2] [info=b5d4e85baaf350f6da9fc1b6035f0200120a97da30de74a0aa766bc98d5562f6] OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/spirv-tools?expand=0&rev=115 --- _scmsync.obsinfo | 4 ++-- build.specials.obscpio | 2 +- spirv-tools.spec | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo index 066e9b4..4037098 100644 --- a/_scmsync.obsinfo +++ b/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1728404600 -commit: 1cffec9d73a474b19ad5032867a7d4bdb3c3a1ae4fc44bd2fbf0cc667e04af79 +mtime: 1728417615 +commit: b5d4e85baaf350f6da9fc1b6035f0200120a97da30de74a0aa766bc98d5562f6 url: https://src.opensuse.org/jengelh/spirv-tools revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio index d3c8735..35c30f2 100644 --- a/build.specials.obscpio +++ b/build.specials.obscpio @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11576f5e39de66c8afba5ecb8cbcc6b061e9533cee3e9b6644762fc69c359287 +oid sha256:edac3b1819d8e566171071837433a4b3a2937c33880f9b2d3089d3de91657ec2 size 256 diff --git a/spirv-tools.spec b/spirv-tools.spec index 9eccab1..0a3546a 100644 --- a/spirv-tools.spec +++ b/spirv-tools.spec @@ -17,7 +17,7 @@ %define _lto_cflags %nil -%define lname libSPIRV-Tools-2024_3 +%define lname libSPIRV-Tools-2024_4_rc1 Name: spirv-tools Version: 2024.4~rc1