aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/blender-2.79-gcc9.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2020-07-31 13:04:36 -0400
committerMark H Weaver <mhw@netris.org>2020-07-31 13:38:47 -0400
commit96a655a77bb087397a9436391e472c36ff0a2ec2 (patch)
tree44a2082db782ab86d060bce12677414e3ea28535 /gnu/packages/patches/blender-2.79-gcc9.patch
parentd4c9e81c077688d13dffa52733c2a7f9a5b85965 (diff)
downloadguix-96a655a77bb087397a9436391e472c36ff0a2ec2.tar.gz
guix-96a655a77bb087397a9436391e472c36ff0a2ec2.zip
gnu: Add blender@2.79b.
Restore blender@2.79b, the last version that does not require OpenGL 3, and therefore the last version to work on many older computers. Note that this commit relies on blender-2.79-newer-ffmpeg.patch and blender-2.79-python-3.7-fix.patch, which were left in the tree when blender@2.79b was previously removed in commit 1f14453eedfede4626a78321c66a009c9997bee4. * gnu/packages/patches/blender-2.79-gcc8.patch, gnu/packages/patches/blender-2.79-gcc9.patch, gnu/packages/patches/blender-2.79-oiio2.patch, gnu/packages/patches/blender-2.79-python-3.8-fix.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/graphics.scm (blender-2.79): New variable.
Diffstat (limited to 'gnu/packages/patches/blender-2.79-gcc9.patch')
-rw-r--r--gnu/packages/patches/blender-2.79-gcc9.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/patches/blender-2.79-gcc9.patch b/gnu/packages/patches/blender-2.79-gcc9.patch
new file mode 100644
index 0000000000..d538a02620
--- /dev/null
+++ b/gnu/packages/patches/blender-2.79-gcc9.patch
@@ -0,0 +1,53 @@
+commit e6d803fd4a383cecf8c643095f093a31c944b785
+Author: Robert-André Mauchin <zebob.m@gmail.com>
+Date: Wed Apr 3 01:36:52 2019 +0200
+
+ Fix for GCC9 new OpenMP data sharing
+
+ GCC 9 started implementing the OpenMP 4.0 and later behavior. When not using
+ default clause or when using default(shared), this makes no difference, but
+ if using default(none), previously the choice was not specify the const
+ qualified variables on the construct at all, or specify in firstprivate
+ clause. In GCC 9 as well as for OpenMP 4.0 compliance, those variables need
+ to be specified on constructs in which they are used, either in shared or
+ in firstprivate clause. Specifying them in firstprivate clause is one way to
+ achieve compatibility with both older GCC versions and GCC 9,
+ another option is to drop the default(none) clause.
+
+ This patch thus drops the default(none) clause.
+
+ See https://gcc.gnu.org/gcc-9/porting_to.html#ompdatasharing
+
+ Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
+
+diff --git a/intern/elbeem/intern/solver_main.cpp b/intern/elbeem/intern/solver_main.cpp
+index 68f7c04cd54..514087b6130 100644
+--- a/intern/elbeem/intern/solver_main.cpp
++++ b/intern/elbeem/intern/solver_main.cpp
+@@ -381,7 +381,7 @@ LbmFsgrSolver::mainLoop(const int lev)
+ GRID_REGION_INIT();
+ #if PARALLEL==1
+ const int gDebugLevel = ::gDebugLevel;
+-#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
++#pragma omp parallel num_threads(mNumOMPThreads) \
+ reduction(+: \
+ calcCurrentMass,calcCurrentVolume, \
+ calcCellsFilled,calcCellsEmptied, \
+@@ -1126,7 +1126,7 @@ LbmFsgrSolver::preinitGrids()
+ GRID_REGION_INIT();
+ #if PARALLEL==1
+ const int gDebugLevel = ::gDebugLevel;
+-#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
++#pragma omp parallel num_threads(mNumOMPThreads) \
+ reduction(+: \
+ calcCurrentMass,calcCurrentVolume, \
+ calcCellsFilled,calcCellsEmptied, \
+@@ -1164,7 +1164,7 @@ LbmFsgrSolver::standingFluidPreinit()
+ GRID_REGION_INIT();
+ #if PARALLEL==1
+ const int gDebugLevel = ::gDebugLevel;
+-#pragma omp parallel default(none) num_threads(mNumOMPThreads) \
++#pragma omp parallel num_threads(mNumOMPThreads) \
+ reduction(+: \
+ calcCurrentMass,calcCurrentVolume, \
+ calcCellsFilled,calcCellsEmptied, \