forked from pool/spirv-tools
spirv-tools 2024.4~rc2
This commit is contained in:
parent
b5d4e85baa
commit
aae3b7f43c
@ -1,73 +0,0 @@
|
|||||||
From 01c8438ee4ac52c248119b7e03e0b021f853b51a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Viktoria Maximova <viktoria.maksimova@intel.com>
|
|
||||||
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<uint32_t>(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<spv::StorageClass>(storage_class_index) !=
|
|
||||||
spv::StorageClass::Function);
|
|
||||||
const auto is_constant =
|
|
||||||
--
|
|
||||||
2.46.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
libSPIRV-Tools-2024_4_rc1
|
libSPIRV-Tools-2024_4_rc2
|
||||||
spirv-tools-devel
|
spirv-tools-devel
|
||||||
requires -spirv-tools-<targettype>
|
requires -spirv-tools-<targettype>
|
||||||
requires "libSPIRV-Tools-2024_4_rc1-<targettype> = <version>"
|
requires "libSPIRV-Tools-2024_4_rc2-<targettype> = <version>"
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Dec 15 18:56:06 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- 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 <jengelh@inai.de>
|
Tue Oct 8 16:12:56 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
@ -17,30 +17,29 @@
|
|||||||
|
|
||||||
|
|
||||||
%define _lto_cflags %nil
|
%define _lto_cflags %nil
|
||||||
%define lname libSPIRV-Tools-2024_4_rc1
|
%define lname libSPIRV-Tools-2024_4_rc2
|
||||||
|
|
||||||
Name: spirv-tools
|
Name: spirv-tools
|
||||||
Version: 2024.4~rc1
|
Version: 2024.4~rc2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: API and commands for processing SPIR-V modules
|
Summary: API and commands for processing SPIR-V modules
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
URL: https://github.com/KhronosGroup/SPIRV-Tools
|
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
|
Source9: baselibs.conf
|
||||||
Patch1: ver.diff
|
Patch1: ver.diff
|
||||||
Patch2: 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch
|
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: cmake >= 3.17.2
|
BuildRequires: cmake >= 3.17.2
|
||||||
%if 0%{?suse_version} >= 1599
|
%if 0%{?suse_version} >= 1599
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
%else
|
%else
|
||||||
BuildRequires: gcc11-c++
|
BuildRequires: gcc12-c++
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
BuildRequires: python3-base
|
BuildRequires: python3-base
|
||||||
BuildRequires: python3-xml
|
BuildRequires: python3-xml
|
||||||
BuildRequires: spirv-headers >= 1.6.1+sdk283+g8
|
BuildRequires: spirv-headers >= 1.6.4+sdk303
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The package includes an assembler, binary module parser,
|
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.
|
integration into other code bases directly.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n SPIRV-Tools-2024.4.rc1
|
%autosetup -p1 -n SPIRV-Tools-2024.4.rc2
|
||||||
find . -type f -name CMakeLists.txt -exec \
|
find . -type f -name CMakeLists.txt -exec \
|
||||||
perl -i -pe 's{\@PACKAGE_VERSION\@}{%version}' CMakeLists.txt {} +
|
perl -i -pe 's{\@PACKAGE_VERSION\@}{%version}' CMakeLists.txt {} +
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} < 1599
|
%if 0%{?suse_version} && 0%{?suse_version} < 1599
|
||||||
export CXX=g++-11
|
export CXX=g++-12
|
||||||
%endif
|
%endif
|
||||||
%cmake -DSPIRV-Headers_SOURCE_DIR="%_prefix" \
|
%cmake -DSPIRV-Headers_SOURCE_DIR="%_prefix" \
|
||||||
-DSPIRV_TOOLS_BUILD_STATIC:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON
|
-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"
|
ln -s "libSPIRV-Tools$i-%version.so" "%buildroot/%_libdir/libSPIRV-Tools$i.so"
|
||||||
done
|
done
|
||||||
|
|
||||||
%post -n %lname -p /sbin/ldconfig
|
%ldconfig_scriptlets -n %lname
|
||||||
%postun -n %lname -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%_bindir/spirv-*
|
%_bindir/spirv-*
|
||||||
|
BIN
v2024.4.rc1.tar.gz
(Stored with Git LFS)
BIN
v2024.4.rc1.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
v2024.4.rc2.tar.gz
(Stored with Git LFS)
Normal file
BIN
v2024.4.rc2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user