forked from pool/spirv-tools
Accepting request 1231577 from X11:Wayland
- Update to release 2024.4~rc2 OBS-URL: https://build.opensuse.org/request/show/1231577 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/spirv-tools?expand=0&rev=47
This commit is contained in:
commit
2d817a234e
@ -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 @@
|
||||
mtime: 1728417615
|
||||
commit: b5d4e85baaf350f6da9fc1b6035f0200120a97da30de74a0aa766bc98d5562f6
|
||||
mtime: 1734379448
|
||||
commit: aae3b7f43c6c579079d06523fe5ec101506338f9512020604a4459b40c46044e
|
||||
url: https://src.opensuse.org/jengelh/spirv-tools
|
||||
revision: master
|
||||
|
@ -1,4 +1,4 @@
|
||||
libSPIRV-Tools-2024_4_rc1
|
||||
libSPIRV-Tools-2024_4_rc2
|
||||
spirv-tools-devel
|
||||
requires -spirv-tools-<targettype>
|
||||
requires "libSPIRV-Tools-2024_4_rc1-<targettype> = <version>"
|
||||
requires "libSPIRV-Tools-2024_4_rc2-<targettype> = <version>"
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:edac3b1819d8e566171071837433a4b3a2937c33880f9b2d3089d3de91657ec2
|
||||
oid sha256:8ee582b0bcf05a38967b027835238f20544525d5b20600a3d50f20d04327b83e
|
||||
size 256
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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-*
|
||||
|
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