Hello community, here is the log from the commit of package blender for openSUSE:Factory checked in at 2020-10-14 15:40:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/blender (Old) and /work/SRC/openSUSE:Factory/.blender.new.3486 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "blender" Wed Oct 14 15:40:42 2020 rev:146 rq:841717 version:2.90.1 Changes: -------- --- /work/SRC/openSUSE:Factory/blender/blender.changes 2020-09-25 16:37:12.704192707 +0200 +++ /work/SRC/openSUSE:Factory/.blender.new.3486/blender.changes 2020-10-14 15:41:16.338405987 +0200 @@ -1,0 +2,9 @@ +Tue Oct 13 23:38:02 UTC 2020 - Stefan BrĂ¼ns <[email protected]> + +- Explicitly disable embree on PPC*. +- Fix 32 bit architectures, add + 0001-Dont-hide-required-uint64-atomic-ops-when-available.patch +- Remove pointless physicalmemory _constraints already covered by + memoryperjob constraint. + +------------------------------------------------------------------- New: ---- 0001-Dont-hide-required-uint64-atomic-ops-when-available.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ blender.spec ++++++ --- /var/tmp/diff_new_pack.QKPrJn/_old 2020-10-14 15:41:17.182406281 +0200 +++ /var/tmp/diff_new_pack.QKPrJn/_new 2020-10-14 15:41:17.186406283 +0200 @@ -72,6 +72,8 @@ Patch0: make_python_3.6_compatible.patch # PATCH-FIX-OPENSUSE https://developer.blender.org/D5858 Patch1: reproducible.patch +# PATCH-FIX-OPENSUSE -- 32bit arch compatibility +Patch2: 0001-Dont-hide-required-uint64-atomic-ops-when-available.patch #!BuildIgnore: libGLwM1 BuildRequires: OpenColorIO-devel BuildRequires: OpenEXR-devel @@ -242,6 +244,7 @@ %patch0 -p1 %endif %patch1 -p1 +%patch2 -p1 rm -rf extern/glew rm -rf extern/libopenjpeg @@ -290,6 +293,7 @@ -DLIBSNDFILE_ROOT_DIR:FILE=%{_prefix} \ %ifarch ppc ppc64 ppc64le -DWITH_CYCLES:BOOL=OFF \ + -DWITH_CYCLES_EMBREE:BOOL=OFF \ %else -DWITH_CYCLES:BOOL=ON \ %if %{with osl} ++++++ 0001-Dont-hide-required-uint64-atomic-ops-when-available.patch ++++++ >From 21eec0e650520a2c180df027e31faea360206f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <[email protected]> Date: Wed, 14 Oct 2020 01:37:29 +0200 Subject: [PATCH] Dont hide required uint64 atomic ops when available The session-uuid is of type uint64_t, thus 64 bit atomic ops are required. Always declare the ops, but still fail if neither GCC provides an implementation nor blender has a suitable implementation in assembly (currently only x86_64). Fixes blender 2.90.x builds on 32 bit x86 and arm architectures. --- intern/atomic/atomic_ops.h | 2 -- intern/atomic/intern/atomic_ops_unix.h | 10 ++++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/intern/atomic/atomic_ops.h b/intern/atomic/atomic_ops.h index 106e195..54cbcf9 100644 --- a/intern/atomic/atomic_ops.h +++ b/intern/atomic/atomic_ops.h @@ -69,7 +69,6 @@ /******************************************************************************/ /* Function prototypes. */ -#if (LG_SIZEOF_PTR == 8 || LG_SIZEOF_INT == 8) ATOMIC_INLINE uint64_t atomic_add_and_fetch_uint64(uint64_t *p, uint64_t x); ATOMIC_INLINE uint64_t atomic_sub_and_fetch_uint64(uint64_t *p, uint64_t x); ATOMIC_INLINE uint64_t atomic_fetch_and_add_uint64(uint64_t *p, uint64_t x); @@ -81,7 +80,6 @@ ATOMIC_INLINE int64_t atomic_sub_and_fetch_int64(int64_t *p, int64_t x); ATOMIC_INLINE int64_t atomic_fetch_and_add_int64(int64_t *p, int64_t x); ATOMIC_INLINE int64_t atomic_fetch_and_sub_int64(int64_t *p, int64_t x); ATOMIC_INLINE int64_t atomic_cas_int64(int64_t *v, int64_t old, int64_t _new); -#endif ATOMIC_INLINE uint32_t atomic_add_and_fetch_uint32(uint32_t *p, uint32_t x); ATOMIC_INLINE uint32_t atomic_sub_and_fetch_uint32(uint32_t *p, uint32_t x); diff --git a/intern/atomic/intern/atomic_ops_unix.h b/intern/atomic/intern/atomic_ops_unix.h index e1126ca..63f8c52 100644 --- a/intern/atomic/intern/atomic_ops_unix.h +++ b/intern/atomic/intern/atomic_ops_unix.h @@ -51,8 +51,7 @@ /******************************************************************************/ /* 64-bit operations. */ -#if (LG_SIZEOF_PTR == 8 || LG_SIZEOF_INT == 8) -# if (defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(JE_FORCE_SYNC_COMPARE_AND_SWAP_8)) +#if (defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || defined(JE_FORCE_SYNC_COMPARE_AND_SWAP_8)) /* Unsigned */ ATOMIC_INLINE uint64_t atomic_add_and_fetch_uint64(uint64_t *p, uint64_t x) { @@ -105,7 +104,7 @@ ATOMIC_INLINE int64_t atomic_cas_int64(int64_t *v, int64_t old, int64_t _new) return __sync_val_compare_and_swap(v, old, _new); } -# elif (defined(__amd64__) || defined(__x86_64__)) +#elif (defined(__amd64__) || defined(__x86_64__)) /* Unsigned */ ATOMIC_INLINE uint64_t atomic_fetch_and_add_uint64(uint64_t *p, uint64_t x) { @@ -179,9 +178,8 @@ ATOMIC_INLINE int64_t atomic_cas_int64(int64_t *v, int64_t old, int64_t _new) asm volatile("lock; cmpxchgq %2,%1" : "=a"(ret), "+m"(*v) : "r"(_new), "0"(old) : "memory"); return ret; } -# else -# error "Missing implementation for 64-bit atomic operations" -# endif +#elif (LG_SIZEOF_PTR == 8 || LG_SIZEOF_INT == 8) +# error "Missing implementation for 64-bit atomic operations" #endif /******************************************************************************/ -- 2.28.0 ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.QKPrJn/_old 2020-10-14 15:41:17.270406312 +0200 +++ /var/tmp/diff_new_pack.QKPrJn/_new 2020-10-14 15:41:17.274406313 +0200 @@ -4,9 +4,6 @@ <disk> <size unit="G">20</size> </disk> - <physicalmemory> - <size unit="G">2</size> - </physicalmemory> <memory> <size unit="G">4</size> </memory> @@ -19,20 +16,10 @@ <arch>x86_64</arch> </conditions> <hardware> + <!-- have some additional features like embree ... --> <memory> <size unit="M">5500</size> </memory> </hardware> </overwrite> - <overwrite> - <conditions> - <arch>ppc64</arch> - <arch>ppc64le</arch> - </conditions> - <hardware> - <physicalmemory> - <size unit="G">6</size> - </physicalmemory> - </hardware> - </overwrite> </constraints>
