Campbell Barton [Mon, 28 Jan 2019 11:08:29 +0000 (22:08 +1100)]
Cleanup: sort forward declarations of enum & struct
Done using:
source/tools/utils_maintenance/c_sort_blocks.py
Brecht Van Lommel [Mon, 28 Jan 2019 10:51:24 +0000 (11:51 +0100)]
OSL: remove fresnel template that was not public domain.
Convention is to only have public domain code templates. Also fixes wrong
license header in Cycles.
Brecht Van Lommel [Mon, 28 Jan 2019 10:58:00 +0000 (11:58 +0100)]
Fix T57069: macOS window contents scaling bug.
The cause of this is unclear, but delaying querying the native pixel size
appears to help in the one case I could reproduce.
Brecht Van Lommel [Sun, 27 Jan 2019 17:26:26 +0000 (18:26 +0100)]
Fix Cycles standalone build as part of Blender.
Arto Kitula [Sat, 26 Jan 2019 13:14:51 +0000 (14:14 +0100)]
macOS: add support for OpenMP, making smoke/fluid/cloth simulations faster.
This bring macOS on par with Windows and Linux. It uses the OpenMP library
added to our precompiled libraries.
Custom flags are set because FindOpenMP from CMake below 3.12 does not support
AppleClang, and more recent versions do not work with our custom directory
location either.
Differential Revision: https://developer.blender.org/D4257
Brecht Van Lommel [Sat, 26 Jan 2019 13:46:38 +0000 (14:46 +0100)]
Cleanup: fix compiler warnings.
Campbell Barton [Thu, 24 Jan 2019 21:30:33 +0000 (08:30 +1100)]
Cleanup: sort cmake file lists
Brecht Van Lommel [Thu, 24 Jan 2019 14:15:57 +0000 (15:15 +0100)]
Fix T60597, T60806: Cycles crash rendering principled BSDF + volume interior.
The integrator maximum number of closures was not set properly for the CPU/mega
kernels to match the actual available memory. Before relatively recent code
refactoring we did not use this value in those kernels so it worked fine.
Bastien Montagne [Thu, 24 Jan 2019 15:11:53 +0000 (16:11 +0100)]
Fix T59175: Compress file isn't working when Load UI is disabled.
Do not see why flags from loaded file should be skipped when we do not
load UI, this is not related to UI...
Think we can keep flags from file in both cases, should this raise some
other issue we'll just have to fine tune masked flags in each case
separately.
Brecht Van Lommel [Thu, 24 Jan 2019 14:15:57 +0000 (15:15 +0100)]
Cycles: change default displacement method to bump mapping again.
Even though it makes sense logically to have displacement actually displace
the mesh, this is causing a lot of confusion for existing users that are used
to the previous behavior. Further, since Eevee does not support displacement
yet and the discrepancy between the viewport and final render is problematic.
mano-wii [Thu, 24 Jan 2019 12:32:28 +0000 (10:32 -0200)]
Fix T59423: Mesh deform modifier bind bug causing spiky deformations.
Same as rBac316a6526c7.
(I should have commited in 2.7 first and then merged in 2.8).
Richard Antalik [Mon, 14 Jan 2019 05:28:07 +0000 (21:28 -0800)]
Add font selection to VSE text strips
Allows users to select a font for text strips in the video sequence editor.
Related:
3610f1fc43d0 Sequencer: refactor clipboard copy to no longer increase user count.
Reviewed by: Brecht
Differential Revision: https://developer.blender.org/D3621
Brecht Van Lommel [Fri, 28 Dec 2018 12:37:51 +0000 (13:37 +0100)]
Sequencer: refactor clipboard copy to no longer increase user count.
The clipboard is not a real user and should not be counted. Only on paste
should the user count increase.
This is part of D3621, and was implemented by Richard Antalik and me.
gsr b3d [Tue, 22 Jan 2019 11:48:49 +0000 (12:48 +0100)]
Git: add TAGS & tags to .gitignore
Index files used by emacs, vim and others, for autocompletion and
searching; generated by etags, universal-ctags and others.
Differential Revision: https://developer.blender.org/D4208
Sergey Sharybin [Tue, 22 Jan 2019 10:56:03 +0000 (11:56 +0100)]
Fix full compilation after recent passes changes
Was caused by
c9eef249.
Brecht Van Lommel [Mon, 21 Jan 2019 09:51:19 +0000 (10:51 +0100)]
Cleanup: add clarifying comments for recent NUMA fixes.
Sergey Sharybin [Fri, 18 Jan 2019 18:45:39 +0000 (19:45 +0100)]
Fix T60627: Cycles render hanging on Windows with threadripper CPU.
Brecht Van Lommel [Fri, 18 Jan 2019 18:15:38 +0000 (19:15 +0100)]
Fix T60585: Cycles not using all cores on threadripper, after recent changes.
Brecht Van Lommel [Fri, 18 Jan 2019 11:38:19 +0000 (12:38 +0100)]
Cleanup: remove unnecessary CUDA architecture sm_72, it's for Tegra chips.
Lukas Stockner [Fri, 18 Jan 2019 01:56:59 +0000 (02:56 +0100)]
Cycles: Cast to correct base type when checking requested features
Lukas Stockner [Thu, 17 Jan 2019 23:45:21 +0000 (00:45 +0100)]
Fix T56799: Custom render passes missing when using Save Buffers
The problem here was that when a render result is allocated, the standard render passes are added according to the
pass bitfield. Then, when the render engine sets the result, it adds the additional passes which are then merged
into the main render result.
However, when using Save Buffers, the EXR is created before the actual render starts, so it's missing all those
additional passes.
To fix that, we need to query the render engine for a list of additional passes so they can be added before the EXR
is created. Luckily, there already is a function to do that for the node editor.
The same needs to be done when the EXR is loaded back.
Due to how that is implemented though (Render API calls into engine, engine calls back for each pass), if we have
multiple places that call this function there needs to be a way to tell which one the call came from in the pass
registration callback. Therefore, the original caller now provides a callback that is called for each pass.
Lukas Stockner [Thu, 17 Jan 2019 23:40:05 +0000 (00:40 +0100)]
Render API: Fix detection of duplicate render passes
Campbell Barton [Thu, 17 Jan 2019 01:34:05 +0000 (12:34 +1100)]
BMesh: keep selection history when removing doubles
Auto-merge would loose the active vertex.
Campbell Barton [Thu, 17 Jan 2019 01:32:12 +0000 (12:32 +1100)]
BMesh: Remove doubles now merges face-flags
Campbell Barton [Thu, 17 Jan 2019 01:28:02 +0000 (12:28 +1100)]
Cleanup: variable names
Sergey Sharybin [Wed, 16 Jan 2019 13:51:30 +0000 (14:51 +0100)]
Cycles: Report whether camera was detected inside volume or not
Campbell Barton [Wed, 16 Jan 2019 04:26:16 +0000 (15:26 +1100)]
BMesh: prevent weld-verts bmop creating selected+hidden verts/edges
Related to error exposed by T59640
Would have fixed crash too, but we want to ignore hidden verts.
Campbell Barton [Wed, 16 Jan 2019 03:54:52 +0000 (14:54 +1100)]
Fix T59640: Transform w/ auto-merge & hidden verts crashes
Sergey Sharybin [Tue, 15 Jan 2019 17:33:37 +0000 (18:33 +0100)]
Sequencer: Restore change menu
It was still used by C-key menu, and is very handy to have
when working on a complex edit files.
Was initially removed by
e9d06f086698.
Campbell Barton [Tue, 15 Jan 2019 12:57:49 +0000 (23:57 +1100)]
Cleanup: commas at the end of enums
Without this clang-format may wrap them onto a single line.
Campbell Barton [Tue, 15 Jan 2019 12:24:20 +0000 (23:24 +1100)]
Cleanup: comment line length (editors)
Prevents clang-format wrapping text before comments.
Campbell Barton [Tue, 15 Jan 2019 12:15:58 +0000 (23:15 +1100)]
Cleanup: comment line length (blenlib)
Prevents clang-format wrapping text before comments.
Campbell Barton [Tue, 15 Jan 2019 12:25:45 +0000 (23:25 +1100)]
Cleanup: comment line length (creator)
Prevents clang-format wrapping text before comments.
Campbell Barton [Tue, 15 Jan 2019 12:14:35 +0000 (23:14 +1100)]
Cleanup: comment line length (DNA)
Prevents clang-format wrapping text before comments.
Campbell Barton [Tue, 15 Jan 2019 05:44:08 +0000 (16:44 +1100)]
Revert fix for T48901: Use of XIWarpPointer
Xorg's XIWarpPointer doesn't support multi-head display while
XWarpPointer does.
Revert since this is a known TODO in Xorg and setting a custom
xinput matrix seems not to be used often.
Resolves T50383
Brecht Van Lommel [Mon, 14 Jan 2019 14:09:48 +0000 (15:09 +0100)]
Build environment: fixes for Linux debug libraries build.
Alex Fuller [Mon, 14 Jan 2019 14:42:54 +0000 (15:42 +0100)]
Cleanup: add begin/end iterators to Cycles NodeEnum.
Differential Revision: https://developer.blender.org/D4173
Alex Fuller [Mon, 14 Jan 2019 14:41:24 +0000 (15:41 +0100)]
Fix Cycles node definition typos and incorrect enum value.
Differential Revision: https://developer.blender.org/D4174
Christopher Peerman [Mon, 14 Jan 2019 11:15:59 +0000 (12:15 +0100)]
Fix T55589: drawing strokes with Microsoft surface pen misses first part.
This disables touch gesture recognition in Blender, avoiding any initial delay
when drawing with grease pencil, texture paint, etc.
Differential Revision: https://developer.blender.org/D4203
Brecht Van Lommel [Mon, 14 Jan 2019 10:42:38 +0000 (11:42 +0100)]
Fix T60450: Cycles broken GPU denoising after recent changes.
Bastien Montagne [Fri, 11 Jan 2019 18:48:56 +0000 (19:48 +0100)]
Fix T55668: Volume Keyframe on Cut-ted Metastrip (re-doing the fix in better way).
Fix T60194: Sequencer cut loses animation data for the right strip.
Fixing the first also fixes the second. First attempt was delaying
uniquename check at a later step of cut process, after everything had
been duplicated. While this fixed first issue, second one became even
more proeminent (it become active for all strips, and not only
video/audio movie strips in meta's).
So instead, passing along the list of (new) sequences, so that duplicated
seqs can be put there immediately, before checking for unique names,
henceforth ensuring even strips inside meta's get properly handled.
Bastien Montagne [Fri, 11 Jan 2019 11:01:13 +0000 (12:01 +0100)]
Revert "Fix T55668: Volume Keyframe on Cut-ted Metastrip."
This partially reverts commit
bb98e83b99e63348e0396a5ffe5bb2a20ff1607a.
It fixed 'strips having same name' issue, but broke handling of
animation then. Need to find a better way to handle this.
Sergey Sharybin [Fri, 11 Jan 2019 16:55:36 +0000 (17:55 +0100)]
Fix T60145: Cycles resets manually set affinity
This change brings back old original logic which was checking
whether worker threads do fit into an active CPU group. But
it does it a bit smarter now and is also checking affinity
within that group. This way Cycles will use all threads on a
Threadripper2 CPU if it's set to automatic number of threads,
but on another hand will not change affinity if user requested
16 threads and changed Blender affinity.
Sergey Sharybin [Fri, 11 Jan 2019 16:47:10 +0000 (17:47 +0100)]
Update bundled version of NUMA API library
Sergey Sharybin [Fri, 11 Jan 2019 14:01:54 +0000 (15:01 +0100)]
Fix T60227: Crash when Cycles uses more than system threads
Tweaked scheduling so it survives this situation by scattering
"extra" threads uniformly over all the NUMA nodes.
There are still tweaks possible to make some specific hardware
configurations work better.
Brecht Van Lommel [Fri, 11 Jan 2019 10:12:38 +0000 (11:12 +0100)]
Fix T60320: Cycles OpenCL denoising filter errors on some drivers.
Campbell Barton [Thu, 10 Jan 2019 22:22:21 +0000 (09:22 +1100)]
MSVC: remove compiler __func__ define
No longer needed and exposes a bug in clang-format see: D4185
Campbell Barton [Thu, 10 Jan 2019 00:18:18 +0000 (11:18 +1100)]
Fix T60358: popup clipping within window
Moving menu contents wasn't working properly.
Campbell Barton [Wed, 9 Jan 2019 21:46:38 +0000 (08:46 +1100)]
Cleanup: ensure header guards come first
Causes clang-format not to detect header guards,
indenting all preprocessor lines in the header.
Campbell Barton [Wed, 9 Jan 2019 09:25:12 +0000 (20:25 +1100)]
Fix T55336: Crash w/ dyntopo sculpt
Campbell Barton [Wed, 9 Jan 2019 09:21:24 +0000 (20:21 +1100)]
Undo System: apply accumulation steps
Apply steps between the active and the undo state being decoded.
Campbell Barton [Wed, 9 Jan 2019 07:08:14 +0000 (18:08 +1100)]
Fix sculpt redo failing to enable dyntopo
Campbell Barton [Wed, 9 Jan 2019 05:53:44 +0000 (16:53 +1100)]
Fix memfile undo decoding creating undo steps
Exiting modes shouldn't be needed since loading the new memfile
will free the old data.
Sculpt mode dynamic topology was adding undo data on exiting the mode
which isn't logical in this case and can be avoided altogether.
Campbell Barton [Wed, 9 Jan 2019 03:07:35 +0000 (14:07 +1100)]
Fix T59165: Text operations fail to undo
Some undo operations encode multiple actions, now all are undone/redone.
Brecht Van Lommel [Wed, 9 Jan 2019 15:53:57 +0000 (16:53 +0100)]
Build Environment: install clang-format for macOS / Linux.
It's already there for Windows.
Brecht Van Lommel [Wed, 9 Jan 2019 15:57:01 +0000 (16:57 +0100)]
Fix Cycles viewport render doing some unnecessary work at the start.
In some cases it would load adaptive kernels or even start rendering
twice because the first time the scene was not fully synced yet.
Brecht Van Lommel [Wed, 9 Jan 2019 15:38:04 +0000 (16:38 +0100)]
Fix T60300, T57774: Cycles OpenCL viewport crash with subsurface scattering.
Sergey Sharybin [Tue, 8 Jan 2019 17:17:21 +0000 (18:17 +0100)]
Cycles: Add utility to dump BVH tree as graphviz file
Sergey Sharybin [Tue, 8 Jan 2019 17:10:32 +0000 (18:10 +0100)]
Cycles: Make BVH wider prior to packing
This allows to do more non-trivial tree modifications to make
it more dense and more friendly for vectorization.
Brecht Van Lommel [Tue, 8 Jan 2019 14:50:14 +0000 (15:50 +0100)]
Fix T60320: Cycles OpenCL volume rendering error on some drivers.
Brecht Van Lommel [Tue, 8 Jan 2019 14:35:54 +0000 (15:35 +0100)]
Fix T60300: Cycles SSS render hanging with AMD OpenCL.
Sergey Sharybin [Tue, 8 Jan 2019 10:43:15 +0000 (11:43 +0100)]
Make DNA and RNA errors more meaningful and friendly
Sergey Sharybin [Fri, 4 Jan 2019 11:41:35 +0000 (12:41 +0100)]
Recognize llvmpipe renderer as software OpenGL
Campbell Barton [Fri, 4 Jan 2019 05:23:04 +0000 (16:23 +1100)]
Fix T60099: Inconsistent normals from spin tool
Campbell Barton [Fri, 4 Jan 2019 05:17:49 +0000 (16:17 +1100)]
Spin Tool: don't flip when using a negative angle
The intention was to flip normals when extruding in the opposite
direction, however the sign of the angle isn't meaningful unless
the geometry center and region normal are taken into account.
Disable, may add back in a way that works more predictably.
Campbell Barton [Fri, 4 Jan 2019 05:08:42 +0000 (16:08 +1100)]
Fix eternal loop in spin tool merge first/last
Campbell Barton [Fri, 4 Jan 2019 06:04:04 +0000 (17:04 +1100)]
Haiku: build fix
D4130 by @miqlas
Campbell Barton [Fri, 4 Jan 2019 00:09:18 +0000 (11:09 +1100)]
Cleanup: use typed unsigned ints
Brecht Van Lommel [Thu, 3 Jan 2019 17:20:30 +0000 (18:20 +0100)]
Fix T60073: can't unlink by dragging from some node input sockets.
Brecht Van Lommel [Thu, 3 Jan 2019 16:08:46 +0000 (17:08 +0100)]
Fix T54962: Cycles crash using subsurface scattering texture blur.
Campbell Barton [Thu, 3 Jan 2019 01:15:03 +0000 (12:15 +1100)]
Fix T60014: material link pref ignored
The PreferencesEdit.material_link only worked for adding slots,
adding an initial new material didn't respect the preference.
Brecht Van Lommel [Wed, 2 Jan 2019 18:55:26 +0000 (19:55 +0100)]
Fix T60061: Cycles OSL point density not working.
Add override keywords so we can detect when the function definitions change.
Bastien Montagne [Thu, 27 Dec 2018 21:38:22 +0000 (22:38 +0100)]
Fix (unreported) broken Cycles tests after numaapi changes today.
Please always build tests when messing with build system/libs, am tired
of fixing that kind of issues...
Also, that fix is probably not working for standalone, no idea where's
the numaapi lib then, but committing since I need a building blender
here (with the tests, yes).
Bastien Montagne [Thu, 27 Dec 2018 22:02:20 +0000 (23:02 +0100)]
API Doc: point to blender2.7 new folder.
master is now for 2.8. ;)
Sergey Sharybin [Thu, 27 Dec 2018 18:01:19 +0000 (19:01 +0100)]
Fix T59874: Cycles CPU 25% load only during rendering
The issue was introduced by a Threadripper2 commit back in
ce927e15e0e3. This boils down to threads inheriting affinity
from the parent thread. It is a question how this slipped
through the review (we definitely run benchmark round).
Quick fix could have been to always set CPU group affinity
in Cycles, and it would work for Windows. On other platforms
we did not have CPU groups API finished.
Ended up making Cycles aware of NUMA topology, so now we
bound threads to a specific NUMA node. This required adding
an external dependency to Cycles, but made some code there
shorter.
Brecht Van Lommel [Thu, 27 Dec 2018 14:22:20 +0000 (15:22 +0100)]
Fix T59900: duplicate font loading error and memory leak.
Brecht Van Lommel [Thu, 27 Dec 2018 14:22:20 +0000 (15:22 +0100)]
X11: support multiple tablet devices.
Previously we would try to guess what the main tablet device is, but this is
error prone. Now we keep a list of X11 devices and try to match events to
them. On the Blender side there are still some limitations in regards to using
multiple devices at the same time, but this should improve things already.
Fixes T59645.
Sergey Sharybin [Thu, 27 Dec 2018 10:35:31 +0000 (11:35 +0100)]
Fix T56595: Hair Dynamics stop working after saving new file
The issue was caused by NaN valid of the average spring length being
stored in the file. This caused accumulation in the springs builder
to also deliver NaNs, which then caused solver itself to not do
anything.
Not sure why these values where never initialized prior to the
accumulation. Or even, why this runime data is stored in a DNA.
Some sanitizing is possible here, but needs to be done with care
to not disrupt Spring production.
Bastien Montagne [Sat, 22 Dec 2018 14:10:24 +0000 (15:10 +0100)]
Point locale sub-repo to blender2.7 branch.
Since we start translating for 2.8 very soon, better to archive 2.7x
translations in their own branch. ;)
Brecht Van Lommel [Fri, 21 Dec 2018 17:51:13 +0000 (18:51 +0100)]
Fix T59565: NaN/crash with zero radius tip of hair curves.
Brecht Van Lommel [Fri, 21 Dec 2018 16:23:49 +0000 (17:23 +0100)]
Cleanup: fix more ATTR_FALLTHROUGH warnings.
Ref D3960.
Brecht Van Lommel [Fri, 21 Dec 2018 16:02:04 +0000 (17:02 +0100)]
Cleanup: fix ATTR_FALLTHROUGH warnings.
Ref D3960.
Brecht Van Lommel [Fri, 21 Dec 2018 11:12:32 +0000 (12:12 +0100)]
Update .arcconfig for moving master to blender2.7 branch.
Brecht Van Lommel [Thu, 20 Dec 2018 13:42:01 +0000 (14:42 +0100)]
Update for moving master to blender2.7 branch.
Sergey Sharybin [Thu, 20 Dec 2018 15:45:38 +0000 (16:45 +0100)]
Cycles: Fixes for recent curve robustness
The key indices were wrong: need to offset curve key index
by first curve key index. Also corrected calculation of the
interpolation step.
Annoyingly, can not reproduce this on a simple file, need
production rig. For the possible future look the following
file from Spring was used: 03_005_A.lighting.debug.blend
Campbell Barton [Thu, 20 Dec 2018 06:50:36 +0000 (17:50 +1100)]
Fix T59074: BMesh intersect hangs
This is a degenerate intersection, exit early instead of hanging.
Campbell Barton [Thu, 20 Dec 2018 01:19:42 +0000 (12:19 +1100)]
PyAPI: don't truncate enums in exception messages
Not necessary and confusing when only some of the items are displayed.
See: T59044
Sergey Sharybin [Wed, 19 Dec 2018 11:47:25 +0000 (12:47 +0100)]
Build info: Ensure hash length is same across all platforms and has no conflicts
The original issue was that different platforms will use different
hash lengths, just because defaults on Git client were different.
Now we use explicit length for the hash, and length is the same as
is used for short hashes in Linux -- apparently they started to have
collisions with length of 11.
Philipp Oeser [Wed, 19 Dec 2018 10:46:42 +0000 (11:46 +0100)]
Fix Proportional Edit Projected 2D method skiped center calculation
rBa520e7c85c83 defined T_OVERRIDE_CENTER(1 << 25)
which was already in use T_PROP_PROJECTED(1 << 25)
thus skipping center calculation
Fixes T58882, T59518
Reviewers: campbellbarton, brecht
Maniphest Tasks: T58882, T59518
Differential Revision: https://developer.blender.org/D4100
Campbell Barton [Wed, 19 Dec 2018 00:38:20 +0000 (11:38 +1100)]
Fix invalid string comparison
Campbell Barton [Tue, 18 Dec 2018 23:16:08 +0000 (10:16 +1100)]
Cleanup: spelling
Campbell Barton [Tue, 18 Dec 2018 23:07:30 +0000 (10:07 +1100)]
Cleanup: use static struct for app-template state
Bastien Montagne [Tue, 18 Dec 2018 19:27:50 +0000 (20:27 +0100)]
Fix T59104: Snapping: Align rotation to target broken in edit mode.
This has been unbelievably painful to understand... And solution is only
partially good actually, we may even want a single axis for all the
islands in that case? But for now this is giving much better results
already, compared to the random crazyness it used to produce.
Philipp Oeser [Tue, 22 May 2018 07:25:23 +0000 (09:25 +0200)]
Fix T55105: Smoke Emission from particles was ignoring lattice deformer
on the particles
Campbell Barton [Mon, 17 Dec 2018 06:20:24 +0000 (17:20 +1100)]
Cleanup: use 'tool_settings' name everywhere in UI scripts
Campbell Barton [Sun, 16 Dec 2018 22:55:02 +0000 (09:55 +1100)]
Cleanup: use bit-shifted flag definitions in DNA
Sergey Sharybin [Fri, 14 Dec 2018 16:39:38 +0000 (17:39 +0100)]
Dependencies builder: Don't rely on system-wide PugiXML
Sergey Sharybin [Fri, 14 Dec 2018 13:48:05 +0000 (14:48 +0100)]
CMake: Fixes for OpenGL library preferences
Prefer legacy OpenGL library, for the compatibility and portability
reasons.
Also use proper OpenGL libraries to be linked against, so we can
change preference to GLVND.
Campbell Barton [Fri, 14 Dec 2018 00:38:02 +0000 (11:38 +1100)]
Fix selection history clearing when selecting all
Campbell Barton [Fri, 14 Dec 2018 00:14:57 +0000 (11:14 +1100)]
Missed last commit