Blender Git Commits

Blender Git "strand_nodes" branch commits.

Page: 12 / 37

May 13, 2016, 09:15 (GMT)
Switch texture nodes to a pynodes implementation.

This also removes the static bNodeTree type definition C, because
BVM requires some functions that are best defined in python (and it
would have been switched eventually anyway).
May 13, 2016, 05:53 (GMT)
Removed texture nodes.

The node tree type is left alone for now, only the node types are removed.
May 12, 2016, 17:26 (GMT)
Define the base opcode functions for LLVM and use util_ files for types.
May 12, 2016, 16:17 (GMT)
Split opcode macro into thematic sections to make it easier to handle them in parts.
May 12, 2016, 15:56 (GMT)
More meaningful dependencies between node tree parameters and cache-invalidation operations, and textures that use them.
May 12, 2016, 15:51 (GMT)
Fix for regenerating functions with MCJIT.

LLVM was reusing old machine code, apparently regenerating it explicitly
with EE->generateCodeForModule() fixes this.
May 12, 2016, 14:50 (GMT)
Fix for node function invalidation through the depsgraph.

We have two separate caches for bvm and llvm backend, both of them
might contain a function for the node tree.
May 12, 2016, 07:56 (GMT)
Merge branch 'master' into object_nodes
May 11, 2016, 09:47 (GMT)
Merge branch 'master' into object_nodes
May 11, 2016, 08:15 (GMT)
Fix the module.cc file.
May 11, 2016, 08:14 (GMT)
Small fix for llvm file includes.
May 11, 2016, 06:48 (GMT)
Silence a few (false positive) compiler warnings about uninitialized variables.
May 10, 2016, 09:24 (GMT)
Cleanup: removed unused code for struct return values and pointer arguments.
May 10, 2016, 09:14 (GMT)
Implemented external C function linking and change of function signature convention.

The general signature layout for node functions is

void foobar(out1_t *out1, out2_t *out2, ..., in1_t in1, in2_t in2, ...);

All outputs are passed as pointers or references (using references in C code for clarity).
Inputs can be passed by-value or as const pointers/references (for structs and arrays).

In the future we may also support single value return types for convenience.
May 9, 2016, 07:12 (GMT)
Moved type definition functions for LLVM types into own file.
May 9, 2016, 06:17 (GMT)
Disable IR module loading for blenvm by default (with a compile option).

Base modules for nodes will instead be declared as external functions with regular
linkage through C code. This means some potential for low-level optimization might be lost,
but this shouldn't be a big problem as long as node functions don't get too complex
(which means they should be split up in the first place).

IR module loading is not the real issue, but generating the IR code from C/C++ code
in a generic way is not so easy. In the future we may actually generate most code for
basic operators and types directly inside blenvm and only use precompiled modules
for more complex functions.
May 8, 2016, 09:15 (GMT)
Merge branch 'master' into object_nodes
April 20, 2016, 10:34 (GMT)
Fix unused function warning.
April 19, 2016, 12:19 (GMT)
Fix meamleak from unfreed edit data when exiting in hair edit mode.
April 19, 2016, 12:05 (GMT)
Fix unfreed temporary buffers in strand relaxation.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021