Accepting request 1099245 from home:Guillaume_G:branches:graphics
- Add patch to fix regression on non-SSE architectures https://github.com/AcademySoftwareFoundation/openexr/issues/1460: * 1488.patch - Also disable 'DWA[AB]Compression' test on aarch64 as the patch above fixes the issue for all targets, except aarch64 OBS-URL: https://build.opensuse.org/request/show/1099245 OBS-URL: https://build.opensuse.org/package/show/graphics/openexr?expand=0&rev=101
This commit is contained in:
parent
577acf3b02
commit
eda5aea351
82
1488.patch
Normal file
82
1488.patch
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
From 1461a92d198a8d7586bbb7a5f1c99311a175a223 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kimball Thurston <kdt3rd@gmail.com>
|
||||||
|
Date: Sat, 15 Jul 2023 10:38:22 +1200
|
||||||
|
Subject: [PATCH] Revert pre-computed values
|
||||||
|
|
||||||
|
It would appear the precomputed values cause differences from the
|
||||||
|
specific computed values on other architectures.
|
||||||
|
|
||||||
|
Signed-off-by: Kimball Thurston <kdt3rd@gmail.com>
|
||||||
|
---
|
||||||
|
src/lib/OpenEXRCore/internal_dwa_simd.h | 46 ++++++++++++-------------
|
||||||
|
1 file changed, 23 insertions(+), 23 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/lib/OpenEXRCore/internal_dwa_simd.h b/src/lib/OpenEXRCore/internal_dwa_simd.h
|
||||||
|
index 6432c5fb3..64399ebf8 100644
|
||||||
|
--- a/src/lib/OpenEXRCore/internal_dwa_simd.h
|
||||||
|
+++ b/src/lib/OpenEXRCore/internal_dwa_simd.h
|
||||||
|
@@ -871,13 +871,13 @@ dctInverse8x8DcOnly (float* data)
|
||||||
|
static inline void
|
||||||
|
dctInverse8x8_scalar (float* data, int zeroedRows)
|
||||||
|
{
|
||||||
|
- const float a = 0.35355362513961314f;//.5f * cosf (3.14159f / 4.0f);
|
||||||
|
- const float b = 0.4903926563794112f;//.5f * cosf (3.14159f / 16.0f);
|
||||||
|
- const float c = 0.4619398297234211f;//.5f * cosf (3.14159f / 8.0f);
|
||||||
|
- const float d = 0.4157349443626743f;//.5f * cosf (3.f * 3.14159f / 16.0f);
|
||||||
|
- const float e = 0.2777854612564676f;//.5f * cosf (5.f * 3.14159f / 16.0f);
|
||||||
|
- const float f = 0.19134217585694352f;//.5f * cosf (3.f * 3.14159f / 8.0f);
|
||||||
|
- const float g = 0.09754573032714427f;//.5f * cosf (7.f * 3.14159f / 16.0f);
|
||||||
|
+ const float a = .5f * cosf (3.14159f / 4.0f);
|
||||||
|
+ const float b = .5f * cosf (3.14159f / 16.0f);
|
||||||
|
+ const float c = .5f * cosf (3.14159f / 8.0f);
|
||||||
|
+ const float d = .5f * cosf (3.f * 3.14159f / 16.0f);
|
||||||
|
+ const float e = .5f * cosf (5.f * 3.14159f / 16.0f);
|
||||||
|
+ const float f = .5f * cosf (3.f * 3.14159f / 8.0f);
|
||||||
|
+ const float g = .5f * cosf (7.f * 3.14159f / 16.0f);
|
||||||
|
|
||||||
|
float alpha[4], beta[4], theta[4], gamma[4];
|
||||||
|
|
||||||
|
@@ -1868,7 +1868,7 @@ dctInverse8x8_avx_7 (float* data)
|
||||||
|
// Default implementation
|
||||||
|
//
|
||||||
|
|
||||||
|
-void
|
||||||
|
+static void
|
||||||
|
dctForward8x8 (float* data)
|
||||||
|
{
|
||||||
|
float A0, A1, A2, A3, A4, A5, A6, A7;
|
||||||
|
@@ -1877,20 +1877,20 @@ dctForward8x8 (float* data)
|
||||||
|
float* srcPtr = data;
|
||||||
|
float* dstPtr = data;
|
||||||
|
|
||||||
|
- const float c1 = 0.9807853127588224f;//cosf (3.14159f * 1.0f / 16.0f);
|
||||||
|
- const float c2 = 0.9238796594468422f;//cosf (3.14159f * 2.0f / 16.0f);
|
||||||
|
- const float c3 = 0.8314698887253485f;//cosf (3.14159f * 3.0f / 16.0f);
|
||||||
|
- const float c4 = 0.7071072502792263f;//cosf (3.14159f * 4.0f / 16.0f);
|
||||||
|
- const float c5 = 0.5555709225129352f;//cosf (3.14159f * 5.0f / 16.0f);
|
||||||
|
- const float c6 = 0.38268435171388704f;//cosf (3.14159f * 6.0f / 16.0f);
|
||||||
|
- const float c7 = 0.19509146065428853f;//cosf (3.14159f * 7.0f / 16.0f);
|
||||||
|
-
|
||||||
|
- const float c1Half = 0.4903926563794112f;//.5f * c1;
|
||||||
|
- const float c2Half = 0.4619398297234211f;//.5f * c2;
|
||||||
|
- const float c3Half = 0.4157349443626743f;//.5f * c3;
|
||||||
|
- const float c5Half = 0.2777854612564676f;//.5f * c5;
|
||||||
|
- const float c6Half = 0.19134217585694352f;//.5f * c6;
|
||||||
|
- const float c7Half = 0.09754573032714427f;//.5f * c7;
|
||||||
|
+ const float c1 = cosf (3.14159f * 1.0f / 16.0f);
|
||||||
|
+ const float c2 = cosf (3.14159f * 2.0f / 16.0f);
|
||||||
|
+ const float c3 = cosf (3.14159f * 3.0f / 16.0f);
|
||||||
|
+ const float c4 = cosf (3.14159f * 4.0f / 16.0f);
|
||||||
|
+ const float c5 = cosf (3.14159f * 5.0f / 16.0f);
|
||||||
|
+ const float c6 = cosf (3.14159f * 6.0f / 16.0f);
|
||||||
|
+ const float c7 = cosf (3.14159f * 7.0f / 16.0f);
|
||||||
|
+
|
||||||
|
+ const float c1Half = .5f * c1;
|
||||||
|
+ const float c2Half = .5f * c2;
|
||||||
|
+ const float c3Half = .5f * c3;
|
||||||
|
+ const float c5Half = .5f * c5;
|
||||||
|
+ const float c6Half = .5f * c6;
|
||||||
|
+ const float c7Half = .5f * c7;
|
||||||
|
|
||||||
|
//
|
||||||
|
// First pass - do a 1D DCT over the rows and write the
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 18 08:08:13 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||||
|
|
||||||
|
- Add patch to fix regression on non-SSE architectures
|
||||||
|
https://github.com/AcademySoftwareFoundation/openexr/issues/1460:
|
||||||
|
* 1488.patch
|
||||||
|
- Also disable 'DWA[AB]Compression' test on aarch64 as the patch
|
||||||
|
above fixes the issue for all targets, except aarch64
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jun 27 11:38:56 UTC 2023 - pgajdos@suse.com
|
Tue Jun 27 11:38:56 UTC 2023 - pgajdos@suse.com
|
||||||
|
|
||||||
|
@ -30,6 +30,8 @@ Group: Development/Libraries/C and C++
|
|||||||
URL: https://www.openexr.com/
|
URL: https://www.openexr.com/
|
||||||
Source0: https://github.com/openexr/openexr/archive/v%{version}.tar.gz
|
Source0: https://github.com/openexr/openexr/archive/v%{version}.tar.gz
|
||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
|
# PATCH-FIX-UPSTREAM - https://github.com/AcademySoftwareFoundation/openexr/issues/1460
|
||||||
|
Patch0: 1488.patch
|
||||||
BuildRequires: cmake >= 3.12
|
BuildRequires: cmake >= 3.12
|
||||||
BuildRequires: freeglut-devel
|
BuildRequires: freeglut-devel
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -172,6 +174,10 @@ export LD_LIBRARY_PATH="%{buildroot}/%{_libdir}"
|
|||||||
# bsc#1205885
|
# bsc#1205885
|
||||||
EXCLUDE_REGEX='testMultiTiledPartThreading'
|
EXCLUDE_REGEX='testMultiTiledPartThreading'
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch aarch64
|
||||||
|
# https://github.com/AcademySoftwareFoundation/openexr/issues/1460
|
||||||
|
EXCLUDE_REGEX='DWA[AB]Compression'
|
||||||
|
%endif
|
||||||
%ctest --exclude-regex "$EXCLUDE_REGEX" --timeout 3600
|
%ctest --exclude-regex "$EXCLUDE_REGEX" --timeout 3600
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
Loading…
Reference in New Issue
Block a user