Blender Git Loki
Git Commits -> Revision d02c7ee
April 6, 2016, 15:52 (GMT) |
Generate function calls for every node, using code defined in precompiled modules. Note that this is currently not quite working: The clang compiler call used tentatively for generating the LLVM IR code for modules uses a lowering pass to coerce struct data types (such as float3) according to the target ABI. This should be avoided and is unnecessary for our purposes, since we stitch together and optimize these code fragments ourselves. In principle we could avoid using a C compiler altogether and write this stuff by hand, but the point of using the compiler is to avoid this tedious work. More info: http://stackoverflow.com/questions/22776391/why-does-clang-coerce-struct-parameters-to-ints |
Commit Details:
Full Hash: d02c7eeacb78eaa8c5984d2a67006a13d25daa8f
Parent Commit: 37477ff
Lines Changed: +460, -44
3 Added Paths:
/source/blender/blenvm/modules/mod_math.h (+154, -0) (View)
/source/blender/blenvm/modules/mod_value.cc (+54, -0) (View)
/source/blender/blenvm/modules/mod_value.h (+37, -0) (View)
/source/blender/blenvm/modules/mod_value.cc (+54, -0) (View)
/source/blender/blenvm/modules/mod_value.h (+37, -0) (View)
2 Deleted Paths:
/source/blender/blenvm/modules/test.cc (+0, -0)
/source/blender/blenvm/modules/test.h (+0, -0)
/source/blender/blenvm/modules/test.h (+0, -0)
6 Modified Paths:
/source/blender/blenvm/compile/node_graph.cc (+2, -2) (Diff)
/source/blender/blenvm/llvm/CMakeLists.txt (+6, -5) (Diff)
/source/blender/blenvm/llvm/llvm_codegen.cc (+185, -32) (Diff)
/source/blender/blenvm/llvm/llvm_codegen.h (+15, -3) (Diff)
/source/blender/blenvm/llvm/llvm_engine.cc (+6, -1) (Diff)
/source/blender/blenvm/llvm/llvm_engine.h (+1, -1) (Diff)
/source/blender/blenvm/llvm/CMakeLists.txt (+6, -5) (Diff)
/source/blender/blenvm/llvm/llvm_codegen.cc (+185, -32) (Diff)
/source/blender/blenvm/llvm/llvm_codegen.h (+15, -3) (Diff)
/source/blender/blenvm/llvm/llvm_engine.cc (+6, -1) (Diff)
/source/blender/blenvm/llvm/llvm_engine.h (+1, -1) (Diff)