diff --git a/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch b/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch deleted file mode 100644 index ee6979d..0000000 --- a/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch +++ /dev/null @@ -1,73 +0,0 @@ -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/baselibs.conf b/baselibs.conf index 95774b1..cf01479 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -libSPIRV-Tools-2024_4_rc1 +libSPIRV-Tools-2024_4_rc2 spirv-tools-devel requires -spirv-tools- - requires "libSPIRV-Tools-2024_4_rc1- = " + requires "libSPIRV-Tools-2024_4_rc2- = " diff --git a/spirv-tools.changes b/spirv-tools.changes index b5ee4a8..9086fe8 100644 --- a/spirv-tools.changes +++ b/spirv-tools.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Sun Dec 15 18:56:06 UTC 2024 - Jan Engelhardt + +- Update to release 2024.4~rc2 + * General: + * Add FPEncoding operand type. (#5726) + * Support SPV_KHR_untyped_pointers, SPV_INTEL_global_variable_host_access, + SPV_KHR_compute_shader_derivative + * Vulkan 1.4 support (#5899) + * Optimizer: Add knowledge of cooperative matrice +- Delete 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch + (merged) + ------------------------------------------------------------------- Tue Oct 8 16:12:56 UTC 2024 - Jan Engelhardt diff --git a/spirv-tools.spec b/spirv-tools.spec index 0a3546a..1772b82 100644 --- a/spirv-tools.spec +++ b/spirv-tools.spec @@ -17,30 +17,29 @@ %define _lto_cflags %nil -%define lname libSPIRV-Tools-2024_4_rc1 +%define lname libSPIRV-Tools-2024_4_rc2 Name: spirv-tools -Version: 2024.4~rc1 +Version: 2024.4~rc2 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 +Source: https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2024.4.rc2.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++ +BuildRequires: gcc12-c++ %endif BuildRequires: pkg-config BuildRequires: python3-base BuildRequires: python3-xml -BuildRequires: spirv-headers >= 1.6.1+sdk283+g8 +BuildRequires: spirv-headers >= 1.6.4+sdk303 %description The package includes an assembler, binary module parser, @@ -68,13 +67,13 @@ 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 +%autosetup -p1 -n SPIRV-Tools-2024.4.rc2 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 +export CXX=g++-12 %endif %cmake -DSPIRV-Headers_SOURCE_DIR="%_prefix" \ -DSPIRV_TOOLS_BUILD_STATIC:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON @@ -87,8 +86,7 @@ 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 +%ldconfig_scriptlets -n %lname %files %_bindir/spirv-* diff --git a/v2024.4.rc1.tar.gz b/v2024.4.rc1.tar.gz deleted file mode 100644 index 655c513..0000000 --- a/v2024.4.rc1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7f44b9bc780a5b8c54637b722e4f9f2a2b7dd04840a79890dd4bcf615faf6b0c -size 3194161 diff --git a/v2024.4.rc2.tar.gz b/v2024.4.rc2.tar.gz new file mode 100644 index 0000000..9f24af3 --- /dev/null +++ b/v2024.4.rc2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b63b0ceda2350a4d097f41d52e929eddeadb8cae05b979989da364f1012727b0 +size 3201805