3 years agoWindows: Add additional crash diagnostic information.
Ray Molenkamp [Tue, 7 Nov 2017 14:57:59 +0000 (07:57 -0700)]
Windows: Add additional crash diagnostic information.

To help diagnose issues like T53259, it is useful to know the module causing the issue (is it us, or some opengl icd, or python module?) and while we cannot do stackdumps on release builds on windows, it is possible to display the faulting module. This commit changes the exception handler to output the following information:

Error   : EXCEPTION_ACCESS_VIOLATION (Type of exception , this we had before)
Address : 0x0000000140193726 (Address of the exception, new)
Module  : k:\BlenderGit\build_windows_Full_noge_x64_vc15_Release\bin\Release\blender.exe (module of the exception, new)

3 years agoCycles: Cleanup, style
Sergey Sharybin [Tue, 7 Nov 2017 12:55:58 +0000 (13:55 +0100)]
Cycles: Cleanup, style

3 years agoFix T53129: Cycles missing update when changing image auto refresh.
Brecht Van Lommel [Tue, 7 Nov 2017 01:27:27 +0000 (02:27 +0100)]
Fix T53129: Cycles missing update when changing image auto refresh.

Previously auto refresh worked, but only if it was already enabled before
starting the viewport render.

3 years agomacOS: remove old OpenMP lib stuff from cmake
Arto Kitula [Mon, 6 Nov 2017 21:54:35 +0000 (23:54 +0200)]
macOS: remove old OpenMP lib stuff from cmake

Bastien Montagne [Mon, 6 Nov 2017 16:17:10 +0000 (17:17 +0100)]

This makes code closer to id_override/assent-engine ones, which
introduce a new type of linked data, and hence reserve
ID_IS_LINKED_DATABLOCK to real linked datablocks.

3 years agoFix T53250: Crash when linking/appending a scene to a blend when another linked scene...
Bastien Montagne [Mon, 6 Nov 2017 14:16:40 +0000 (15:16 +0100)]
Fix T53250: Crash when linking/appending a scene to a blend when another linked scene in this blend is currently open/active.

Inner DAG code would not check against NULL pointer, and in case of an
active linked scene, scene pointer will be NULL here, so we have to
check it ourself. ;)

3 years agoCycles: reduce closure memory usage for emission/shadow shader data.
Brecht Van Lommel [Wed, 1 Nov 2017 20:02:28 +0000 (21:02 +0100)]
Cycles: reduce closure memory usage for emission/shadow shader data.

With a Titan Xp, reduces path trace local memory from 1092MB to 840MB.
Benchmark performance was within 1% with both RX 480 and Titan Xp.

Original patch was implemented by Sergey.

Differential Revision:

3 years agoCode refactor: sum transparent and absorption weights outside closures.
Brecht Van Lommel [Wed, 1 Nov 2017 20:07:15 +0000 (21:07 +0100)]
Code refactor: sum transparent and absorption weights outside closures.

3 years agoCode refactor: remove emission and background closures, sum directly.
Brecht Van Lommel [Wed, 1 Nov 2017 18:00:42 +0000 (19:00 +0100)]
Code refactor: remove emission and background closures, sum directly.

3 years agoCycles: fix inefficient attribute map storage, saves 615MB in victor scene.
Brecht Van Lommel [Sun, 5 Nov 2017 16:40:36 +0000 (17:40 +0100)]
Cycles: fix inefficient attribute map storage, saves 615MB in victor scene.

3 years agoCode refactor: device memory cleanups, preparing for mapped host memory.
Brecht Van Lommel [Sat, 4 Nov 2017 23:34:30 +0000 (00:34 +0100)]
Code refactor: device memory cleanups, preparing for mapped host memory.

3 years agoCycles: reserve CUDA local memory ahead of time.
Brecht Van Lommel [Sat, 4 Nov 2017 17:06:48 +0000 (18:06 +0100)]
Cycles: reserve CUDA local memory ahead of time.

This way we can log the amount of memory used, and it will be important
for host mapped memory support.

3 years agoCleanup: order buffer length after the buffer
Campbell Barton [Sun, 5 Nov 2017 13:04:46 +0000 (00:04 +1100)]
Cleanup: order buffer length after the buffer

3 years agoCleanup: remove paranoid NULL check
Campbell Barton [Sun, 5 Nov 2017 12:34:40 +0000 (23:34 +1100)]
Cleanup: remove paranoid NULL check

3 years agoCleanup: indentation, line wrapping
Campbell Barton [Sun, 5 Nov 2017 03:50:15 +0000 (14:50 +1100)]
Cleanup: indentation, line wrapping

3 years agoCleanup: spelling
Campbell Barton [Sun, 5 Nov 2017 03:33:18 +0000 (14:33 +1100)]
Cleanup: spelling

3 years agoUI: tool-tip refactor, don't hard code field types
Campbell Barton [Sat, 4 Nov 2017 08:24:43 +0000 (19:24 +1100)]
UI: tool-tip refactor, don't hard code field types

Allow other kinds of tips be created w/o exceeding hard limits.

3 years agoUI: correct flag re-use
Campbell Barton [Sat, 4 Nov 2017 03:10:04 +0000 (14:10 +1100)]
UI: correct flag re-use

Adding ability to show a button as pressed w/o UI_SELECT set caused
other flags to be cleared that shouldn't have been.

3 years agoCode refactor: replace CUDA array with linear memory for 1D and 2D textures.
Brecht Van Lommel [Fri, 3 Nov 2017 20:28:13 +0000 (21:28 +0100)]
Code refactor: replace CUDA array with linear memory for 1D and 2D textures.

This is a prequisite for getting host memory allocation to work. There appears
to be no support for 3D textures using host memory. The original version of
this code was written by Stefan Werner for D2056.

3 years agoFix T53247: mixed CPU + GPU render wrong texture limits.
Brecht Van Lommel [Fri, 3 Nov 2017 19:21:19 +0000 (20:21 +0100)]
Fix T53247: mixed CPU + GPU render wrong texture limits.

3 years agoScene RNA API: More global mains goes away
Sergey Sharybin [Fri, 3 Nov 2017 15:28:37 +0000 (16:28 +0100)]
Scene RNA API: More global mains goes away

3 years agoScene RNA API: Main from globals goes away
Sergey Sharybin [Fri, 3 Nov 2017 15:15:49 +0000 (16:15 +0100)]
Scene RNA API: Main from globals goes away

Bye bye..

3 years agoCleanup: split interface_regions.c
Campbell Barton [Fri, 3 Nov 2017 09:26:35 +0000 (20:26 +1100)]
Cleanup: split interface_regions.c

Each region type is quite separate and file was getting too big.

3 years agoFix incorrect allocation size
Campbell Barton [Fri, 3 Nov 2017 08:23:47 +0000 (19:23 +1100)]
Fix incorrect allocation size

3 years agoFix Blenderplayer (tm)
Jens Verwiebe [Thu, 2 Nov 2017 23:39:50 +0000 (00:39 +0100)]
Fix Blenderplayer (tm)

3 years agoFix Cycles showing empty tiles while they are being denoised.
Brecht Van Lommel [Thu, 2 Nov 2017 14:05:57 +0000 (15:05 +0100)]
Fix Cycles showing empty tiles while they are being denoised.

3 years agoCleanup: minor comment correction
Campbell Barton [Thu, 2 Nov 2017 14:10:03 +0000 (01:10 +1100)]
Cleanup: minor comment correction

3 years agoUI: add UI_SELECT_DRAW flag
Campbell Barton [Thu, 2 Nov 2017 13:45:30 +0000 (00:45 +1100)]

Allow to draw as pressed w/o interfering with behavior.

Resolves issue where buttons raised on mouse-over.

3 years agoAlembic: not using global in unit test.
Sybren A. Stüvel [Thu, 2 Nov 2017 13:33:13 +0000 (14:33 +0100)]
Alembic: not using global in unit test.

Thanks @sergey for pointing out this fix.

3 years agoFix T53182: cancelling save buffers + denoising render clears image.
Brecht Van Lommel [Thu, 2 Nov 2017 13:29:42 +0000 (14:29 +0100)]
Fix T53182: cancelling save buffers + denoising render clears image.

3 years agoUI: free up bit in uiBut.flag
Campbell Barton [Thu, 2 Nov 2017 13:22:59 +0000 (00:22 +1100)]
UI: free up bit in uiBut.flag

3 years agoCycles: Add another limit to OpenCL memory usage
Mai Lavelle [Thu, 2 Nov 2017 12:10:24 +0000 (08:10 -0400)]
Cycles: Add another limit to OpenCL memory usage

Some drivers may report very large allocation sizes, which could cause
unnecessary memory usage. This is now limited to 2gb which should
still be enough to get the needed performance benefits without waste.

3 years agoSpace clip: Make it more clear that filter track does not use any settings from tool...
Sergey Sharybin [Thu, 2 Nov 2017 11:33:39 +0000 (12:33 +0100)]
Space clip: Make it more clear that filter track does not use any settings from tool shelf

3 years agoUI: use button_operator in operator_menu_hold
Campbell Barton [Thu, 2 Nov 2017 07:19:11 +0000 (18:19 +1100)]
UI: use button_operator in operator_menu_hold

Move draw calls into UI_menutype_draw

3 years agoCleanup: code style
Campbell Barton [Thu, 2 Nov 2017 04:09:11 +0000 (15:09 +1100)]
Cleanup: code style

3 years agoImplement a new automatic handle algorithm to produce smooth F-Curves.
Alexander Gavrilov [Wed, 1 Nov 2017 18:34:30 +0000 (21:34 +0300)]
Implement a new automatic handle algorithm to produce smooth F-Curves.

The legacy algorithm only considers two adjacent points when computing
the bezier handles, which cannot produce satisfactory results. Animators
are often forced to manually adjust all curves.

The new approach instead solves a system of equations to trace a cubic spline
with continuous second derivative through the whole segment of auto points,
delimited at ends by keyframes with handles set by other requirements.

This algorithm also adjusts Vector handles that face ordinary bezier keyframes
to achieve zero acceleration at the Vector keyframe, instead of simply pointing
it at the adjacent point.

Original idea and implementation by Benoit Bolsee <>;
code mostly rewritten to improve code clarity and extensibility.

Reviewers: aligorith

Differential Revision:

3 years agoCleanup: use term shape-preset in widget code
Campbell Barton [Wed, 1 Nov 2017 18:48:14 +0000 (05:48 +1100)]
Cleanup: use term shape-preset in widget code

3 years agoUI: Option to draw button pressed
Campbell Barton [Wed, 1 Nov 2017 18:00:09 +0000 (05:00 +1100)]
UI: Option to draw button pressed

Needed to show the active tool

3 years agoUI: Add UILayout.operator_menu_hold
Campbell Barton [Wed, 1 Nov 2017 17:30:07 +0000 (04:30 +1100)]
UI: Add UILayout.operator_menu_hold

This is an operator button that opens a menu when the button is held.

3 years agoFix T53217: GLSL principled BSDF black with zero clearcoat roughness.
Brecht Van Lommel [Wed, 1 Nov 2017 16:12:36 +0000 (17:12 +0100)]
Fix T53217: GLSL principled BSDF black with zero clearcoat roughness.

3 years agoCycles: Add utility function to distinguish between scatter and absorption volume ID
Sergey Sharybin [Wed, 1 Nov 2017 10:10:51 +0000 (11:10 +0100)]
Cycles: Add utility function to distinguish between scatter and absorption volume ID

3 years agoCycles: Cleanup, make it more obvious what preprocessor belongs to
Sergey Sharybin [Wed, 1 Nov 2017 10:10:10 +0000 (11:10 +0100)]
Cycles: Cleanup, make it more obvious what preprocessor belongs to

3 years agoCycles: Cleanup, delete trailing whitespace
Sergey Sharybin [Wed, 1 Nov 2017 10:06:55 +0000 (11:06 +0100)]
Cycles: Cleanup, delete trailing whitespace

3 years agoFix for T48988 - Enabling bbone easing for posemode
Joshua Leung [Wed, 1 Nov 2017 00:38:51 +0000 (13:38 +1300)]
Fix for T48988 - Enabling bbone easing for posemode

This fix enables the usage of bbones easing parameters for edit and pose mode seperately. This allows animators to take advantage of the functionality and may eliminate confusion as the parameters now behave similar to other bbone parameters.

Note that splitting the parameters between the modes effectively creates a new parameter set. Blend files of previous versions do not contain this information and will have the values set to 0 on load. As it broke backwards compatibility for pose mode values anyway, I also took the liberty to rename the easing parameters in some places for consistency (which breaks edit mode values).

Reviewers: aligorith

Subscribers: aligorith

Tags: #animation

Differential Revision:

3 years agoCleanup: style
Campbell Barton [Wed, 1 Nov 2017 00:56:56 +0000 (11:56 +1100)]
Cleanup: style

3 years agoFix bplayer (c)
Bastien Montagne [Tue, 31 Oct 2017 16:15:16 +0000 (17:15 +0100)]
Fix bplayer (c)

Like seriously guys... twice within a few hours, compile full blender please
when you change APIs!

3 years agoExperiment with adding output file meta data from render engine
Sergey Sharybin [Mon, 6 Feb 2017 16:24:28 +0000 (17:24 +0100)]
Experiment with adding output file meta data from render engine

The idea is to make it possible to report extra meta data from
render engine to the file writing. This way we can provide
additional information such as number of samples rendered by
resumable Cycles rendering so we can easily combine files back.

Currently only report number of samples from Cycles when rendering
a single render-layer scene. This is something what was required
here at the studio. We can easily extend that further.

Ideally we would also need to support non-string metadata, but
that's for later.

Reviewers: mont29, campbellbarton

Reviewed By: mont29, campbellbarton

Subscribers: sybren, candreacchio

Differential Revision:

3 years agoAdd ability for render engines to report extra meta data to pipeline
Sergey Sharybin [Mon, 6 Feb 2017 16:23:02 +0000 (17:23 +0100)]
Add ability for render engines to report extra meta data to pipeline

3 years agoAdd ability to specify custom fields to be saved from render result
Sergey Sharybin [Mon, 6 Feb 2017 16:03:59 +0000 (17:03 +0100)]
Add ability to specify custom fields to be saved from render result

3 years agoStamp info: Use dedicated function to free up memory
Sergey Sharybin [Mon, 6 Feb 2017 15:54:41 +0000 (16:54 +0100)]
Stamp info: Use dedicated function to free up memory

This way it's more flexible to extend StampData structure
with additional stuff which might require memory free.

3 years agoFix bplayer (c)
Bastien Montagne [Tue, 31 Oct 2017 13:52:52 +0000 (14:52 +0100)]
Fix bplayer (c)

3 years agoTracking: Create mesh from selected tracks only
Sergey Sharybin [Tue, 31 Oct 2017 13:01:44 +0000 (14:01 +0100)]
Tracking: Create mesh from selected tracks only

Patch by Sebastian Koenig. thanks!

3 years agoCycles: Bump version number to 1.9.0
Sergey Sharybin [Tue, 31 Oct 2017 12:31:41 +0000 (13:31 +0100)]
Cycles: Bump version number to 1.9.0

This matches Blender Release 2.79.

3 years agoFix crash of standalone app after recent refactor
Sergey Sharybin [Tue, 31 Oct 2017 11:46:38 +0000 (12:46 +0100)]
Fix crash of standalone app after recent refactor

3 years agoMacOS: Use correct Cocoa protocol on any compiler
Arto Kitula [Tue, 31 Oct 2017 09:30:55 +0000 (11:30 +0200)]
MacOS: Use correct Cocoa protocol on any compiler

3 years agoUI: replace UI_ITEM_O_RETURN_PROPS /w return arg
Campbell Barton [Tue, 31 Oct 2017 05:58:26 +0000 (16:58 +1100)]
UI: replace UI_ITEM_O_RETURN_PROPS /w return arg

Means we can have a version of this function that returns the button
and avoids returning a struct that often isn't used.

3 years agoUI: avoid double operator type lookup
Campbell Barton [Tue, 31 Oct 2017 01:44:41 +0000 (12:44 +1100)]
UI: avoid double operator type lookup

3 years agoFix T53191: Python API Reference link wrong in splash screen.
Bastien Montagne [Mon, 30 Oct 2017 11:59:11 +0000 (12:59 +0100)]
Fix T53191: Python API Reference link wrong in splash screen.

Forgot to update splashscreen links when we switched API doc naming

3 years agoCurve Decimate: new tool to simplify bezier curves
Campbell Barton [Mon, 30 Oct 2017 11:36:51 +0000 (22:36 +1100)]
Curve Decimate: new tool to simplify bezier curves

Access from the curve clean-up menu

3 years agoCMake: cleanup
Campbell Barton [Mon, 30 Oct 2017 01:58:44 +0000 (12:58 +1100)]
CMake: cleanup

3 years agoCMake: use only absolute linker paths for msvc.
Ray Molenkamp [Sun, 29 Oct 2017 19:16:22 +0000 (13:16 -0600)]
CMake: use only absolute linker paths for msvc.

cmake's link_directories will supply forward slashes for the search paths, the msvc linker has some issues with that, while it will search for the needed libs just fine, the incremental linker gets fed forward slashes for some libs, while the previous binary has backward slashes in it's metadata, the linker assumes obj files got added and performs a full link instead of an incremental link. This change brings down the link time with newer msvc versions for a trivial edit down from a few minutes to a few seconds.

3 years agoAlembic: added frame offset property
Sybren A. Stüvel [Sun, 29 Oct 2017 16:23:50 +0000 (17:23 +0100)]
Alembic: added frame offset property

The offset is subtracted, so that it's intuitive (dragging slider pushes
the animation further that way on the timeline).

3 years agoCycles: restore SOBOL_SKIP hack, for some cases where it helps still.
Brecht Van Lommel [Sun, 29 Oct 2017 14:26:09 +0000 (15:26 +0100)]
Cycles: restore SOBOL_SKIP hack, for some cases where it helps still.

3 years agoAlembic: exporting MetaBalls as mesh
Sybren A. StÃ\83¼vel [Sat, 28 Oct 2017 17:18:27 +0000 (19:18 +0200)]
Alembic: exporting MetaBalls as mesh

- Only basis balls are exported, as they represent the resulting mesh.
  As a result the mesh is written to Alembic using the name of the basis
- MetaBalls are converted to a mesh on every frame, then an
  AbcMeshWriter is used to write that mesh to Alembic.

3 years agoInclude file for DNA_DEPRECATED macro
Sybren A. Stüvel [Sun, 29 Oct 2017 10:26:45 +0000 (11:26 +0100)]
Include file for DNA_DEPRECATED macro

3 years agoAlembic import: fixed mesh corruption when changing topology
Sybren A. Stüvel [Sun, 29 Oct 2017 12:55:42 +0000 (13:55 +0100)]
Alembic import: fixed mesh corruption when changing topology

When the mesh changed topology but kept the vertex count the same, it would
result in a corrupt mesh. By checking the face & loop counts too, this has
become less likely.

I've checked IPolyMeshSchema::isConstant(), but it returns true even when
we see that the mesh changed topology.

3 years agoBMesh: use heap update for dissolve-decimate
Campbell Barton [Sun, 29 Oct 2017 13:36:52 +0000 (00:36 +1100)]
BMesh: use heap update for dissolve-decimate

3 years agoBLI_heap: add validation check, improve tests
Campbell Barton [Sun, 29 Oct 2017 07:23:33 +0000 (18:23 +1100)]
BLI_heap: add validation check, improve tests

Also minor readability changes, avoid running both heap_up/down
gives minor speedup too.

3 years agoCurve Fitting: heap reinsertion optimization
Campbell Barton [Sun, 29 Oct 2017 05:33:44 +0000 (16:33 +1100)]
Curve Fitting: heap reinsertion optimization

3 years agoCleanup: move docs out of header
Campbell Barton [Sun, 29 Oct 2017 05:07:07 +0000 (16:07 +1100)]
Cleanup: move docs out of header

3 years agoCleanup: const args
Campbell Barton [Sun, 29 Oct 2017 04:42:54 +0000 (15:42 +1100)]
Cleanup: const args

3 years agoBLI_heap: minor changes to the API
Campbell Barton [Sun, 29 Oct 2017 04:25:13 +0000 (15:25 +1100)]
BLI_heap: minor changes to the API

Recent addition of 'reinsert' didn't match logic for ghash API.

Rename to BLI_heap_node_value_update,
also add BLI_heap_insert_or_update since it's a common operation.

3 years agoUse BLI_heap_reinsert for decimate and beautify
Campbell Barton [Sat, 28 Oct 2017 18:23:27 +0000 (05:23 +1100)]
Use BLI_heap_reinsert for decimate and beautify

Improves performance for high poly meshes,
~70% faster for decimate, only ~10% for beautify.

3 years agoBLI_hash: add BLI_heap_reinsert
Campbell Barton [Sat, 28 Oct 2017 17:42:58 +0000 (04:42 +1100)]
BLI_hash: add BLI_heap_reinsert

Allows avoiding remove/insert calls.

3 years agoGTest: initial BLI_heap test
Campbell Barton [Sat, 28 Oct 2017 13:40:40 +0000 (00:40 +1100)]
GTest: initial BLI_heap test

3 years agoFix T53185: After rendering an animation (Ctrl-F12), pressing F12 no longer renders...
Joshua Leung [Sat, 28 Oct 2017 13:09:57 +0000 (02:09 +1300)]
Fix T53185: After rendering an animation (Ctrl-F12), pressing F12 no longer renders single frames only

3 years agoBLI_array_store: correct hashing single bytes
Campbell Barton [Sat, 28 Oct 2017 07:28:55 +0000 (18:28 +1100)]
BLI_array_store: correct hashing single bytes

The single byte version of hash_data was casting from unsigned char
instead of signed.

This didn't cause any errors since the result of each aren't compared.
Even so, better keep them matching.

3 years agoCleanup: use uint type in BLI
Campbell Barton [Sat, 28 Oct 2017 06:48:45 +0000 (17:48 +1100)]
Cleanup: use uint type in BLI

3 years agoDocs: clarify return value for BVH API
Campbell Barton [Fri, 27 Oct 2017 05:14:24 +0000 (16:14 +1100)]
Docs: clarify return value for BVH API

3 years agoFix T53131: Incorrect vert-edge angle calculation
Campbell Barton [Fri, 27 Oct 2017 02:10:36 +0000 (13:10 +1100)]
Fix T53131: Incorrect vert-edge angle calculation

Vertex w/ a single edge wasn't detected

3 years agoRemove SCREEN_OT_header_flip, use SCREEN_OT_region_flip instead
Julian Eisel [Thu, 26 Oct 2017 20:40:24 +0000 (22:40 +0200)]
Remove SCREEN_OT_header_flip, use SCREEN_OT_region_flip instead

Basically reverts rB65c4149f203610 and fixes the issue in a better way.

Keymaps using the removed operator will be affected. Switching header
from top to bottom now has the shortcut F5, just like switching other

3 years agoFix T52984. Trackpad rotation to natural direction
Arto Kitula [Thu, 26 Oct 2017 20:11:25 +0000 (23:11 +0300)]
Fix T52984. Trackpad rotation to natural direction

3 years agoUsing gtest fixtures in Alembic export tests
Sybren A. Stüvel [Thu, 26 Oct 2017 10:43:59 +0000 (12:43 +0200)]
Using gtest fixtures in Alembic export tests

3 years agoEvent System: check_click was left set
Campbell Barton [Thu, 26 Oct 2017 05:08:45 +0000 (16:08 +1100)]
Event System: check_click was left set

Caused by own change 137586a13c

3 years agoCycles: use AO factor to let user adjust intensity of AO bounces.
Brecht Van Lommel [Wed, 25 Oct 2017 19:07:44 +0000 (21:07 +0200)]
Cycles: use AO factor to let user adjust intensity of AO bounces.

We are already using the AO distance, so might as well offer this extra
control over the intensity. Useful when an interior scene is supposed to
be significantly darker than the background shader.

3 years agoDepsgraph: Cleanup, remove redundant calls to add_component
Sergey Sharybin [Wed, 25 Oct 2017 12:40:38 +0000 (14:40 +0200)]
Depsgraph: Cleanup, remove redundant calls to add_component

3 years agoDepsgraph: Need to tag relations for update after new clip was added
Sergey Sharybin [Wed, 25 Oct 2017 12:18:21 +0000 (14:18 +0200)]
Depsgraph: Need to tag relations for update after new clip was added

3 years agoDepsgraph: Rework debug relations update function
Sergey Sharybin [Wed, 25 Oct 2017 10:11:49 +0000 (12:11 +0200)]
Depsgraph: Rework debug relations update function

Make it a tag for relations update function instead, since we will not be able
to easily rebuild relations, and we wouldn't be able to iterate all scenes.

This is a part of mowing depsgraph to be per-workspace/layer in 2.8 branch.

3 years agoDepsgraph: Add missing forward struct declarations
Sergey Sharybin [Wed, 25 Oct 2017 10:11:12 +0000 (12:11 +0200)]
Depsgraph: Add missing forward struct declarations

3 years agoDepsgraph: Cleanup, trailing whitespace and braces
Sergey Sharybin [Wed, 25 Oct 2017 10:07:51 +0000 (12:07 +0200)]
Depsgraph: Cleanup, trailing whitespace and braces

3 years agoDepsgraph: Make depsgraph.debug_stats to return a string
Sergey Sharybin [Wed, 25 Oct 2017 10:06:56 +0000 (12:06 +0200)]
Depsgraph: Make depsgraph.debug_stats to return a string

This way we can see result in the python console.

3 years agoDepsgraph: Add missing movie clip dopesheet invalidation
Sergey Sharybin [Wed, 25 Oct 2017 09:45:31 +0000 (11:45 +0200)]
Depsgraph: Add missing movie clip dopesheet invalidation

3 years agoDepsgraph: Use explicit opcode for shape key
Sergey Sharybin [Wed, 25 Oct 2017 09:37:24 +0000 (11:37 +0200)]
Depsgraph: Use explicit opcode for shape key

3 years agoDepsgraph: Cleanup, use explicit cloth modifier opcode
Sergey Sharybin [Wed, 25 Oct 2017 09:34:41 +0000 (11:34 +0200)]
Depsgraph: Cleanup, use explicit cloth modifier opcode

Avoids use of placeholder operation which also was involving some string

3 years agoDepsgraph: Cleanup, don't call explicit add_id()
Sergey Sharybin [Wed, 25 Oct 2017 09:31:22 +0000 (11:31 +0200)]
Depsgraph: Cleanup, don't call explicit add_id()

This is redundant, adding components will check for ID to exist.

3 years agoDepsgraph: Use explicit parameters eval operation code
Sergey Sharybin [Tue, 18 Jul 2017 09:55:06 +0000 (11:55 +0200)]
Depsgraph: Use explicit parameters eval operation code

This replaces usage of generic PLACEHOLDEWR with string lookup with more
explicit opcode. This should make it faster to build dependency graph by
avoiding string comparisons when it's not needed.

There should be no user measurable different.

3 years agoDepsgraph: Cleanup, use proper style for macro loop
Sergey Sharybin [Wed, 25 Oct 2017 09:05:03 +0000 (11:05 +0200)]
Depsgraph: Cleanup, use proper style for macro loop

3 years agoDepsgraph: Remove unsued node flag
Sergey Sharybin [Tue, 25 Jul 2017 12:06:17 +0000 (14:06 +0200)]
Depsgraph: Remove unsued node flag

3 years agoDepsgraph: Make operation codes more obvious
Sergey Sharybin [Wed, 25 Oct 2017 08:58:33 +0000 (10:58 +0200)]
Depsgraph: Make operation codes more obvious

This synchronizes al lrelated changes from blender2.8 branch.

3 years agoDepsgraph: Remove bunch of debug code
Sergey Sharybin [Tue, 24 Oct 2017 14:00:50 +0000 (16:00 +0200)]
Depsgraph: Remove bunch of debug code

Was never actually used and implementation seems to be slow: we shouldn't be
doing per-node evaluation hash lookups, adds too much overhead. We can instead
store statistics in the node itself, and maybe even group them somehow.

Ideally such a statistics should be user-friendly so riggers and animators
can see exactly what's happening.