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>



Reply via email to