Blender Git Commits

Blender Git commits from all branches.

Page: 2261 / 2888

May 7, 2015, 13:49 (GMT)
Merge branch 'master' into alembic
May 7, 2015, 13:38 (GMT)
Cycles kernel split: No need to get tile size from manager, it's known in params
May 7, 2015, 13:38 (GMT)
Merge branch 'master' into gooseberry
May 7, 2015, 13:25 (GMT)
Extended RNA update for shape keys to trigger re-reading of dupli caches.
May 7, 2015, 13:24 (GMT)
Cycles kernel split: Fix broken logic around multi-closure in device_opencl

The code actually acted in a way when multi-closure was always enabled, this is
due to kernel_types.h header by default using CPU settings.

This caused re-definition of maximum number of closures.

Now the code acts in a way so desired number of closure is passed via cflags
and then kernel decided whether to use it or ignore.

It's possible that some OpenCL platform still over-allocates, but that's not
caused by this change and needs to be addressed separately.
May 7, 2015, 13:15 (GMT)
Cycles kernel split: Move device requested features to own struct

Previously it was all stored in the device itself, which is not really good
practice. Now all parameters which are related on what exact kernel with
what feature set to load are wrapped into own struct which is passed to
load_kenrels() function.

Network render part is not really tested and likely is broken.
May 7, 2015, 12:45 (GMT)
Merge branch 'alembic' into gooseberry
May 7, 2015, 12:44 (GMT)
Fix for missing lib-link of effector weights group pointer.
May 7, 2015, 12:17 (GMT)
Merge branch 'alembic' into gooseberry
May 7, 2015, 12:16 (GMT)
Fix for cache simulation force fields, these were not added up.
May 7, 2015, 12:12 (GMT)
Cycles kernel split: Remove unneeded changes in device multi

Setting multi device's split kernel flag is a bit misleading and actually
malformed. it might be in theory heterogeneous environment where it'll be
totally unclear how to treat this flag.

Since it's now only used for skipping samples report in the status line
and multi devices are ignored anyway it's safe to remove that bit of code.

TODO: Still have feeling we can get rid of this flag in device info and
just treat reported number of samples as scheduled number of samples.
This could also help in the cases like distributed rendering.
May 7, 2015, 12:10 (GMT)
Merge branch 'master' into gooseberry
May 7, 2015, 12:06 (GMT)
Cycles kernel split: Always gather requested feature set for the device

It is a bit violation of design to check what kernel type device will use
prior gathering the required features. It'll also fail for cases like
network rendering.

This bit of code is relatively cheap, so there's no real harm doing it
always and letting the device itself to decide ignore or use the info.
May 7, 2015, 11:58 (GMT)
Cycles kernel split: Remove ugly hack from Session::load_kernels()

It was really bad decision to save/restore status message. It still might
flicker in the interface, plus it'll spam the logs output anyway.
May 7, 2015, 11:47 (GMT)
Cycles kernel split: get_*() vs. *_get() for class methods

Prior to own changes in master it was all consistent to use get_ as a prefix
for class methods. Let's keep this consistent and probably make it consistent
in master as a separate commit as well.
May 7, 2015, 11:43 (GMT)
Cycles kernel split: Get rid of loading kernels from run_cpu/run_gpu

It's not proper way to do it and proper approach should be:

- Requested device capabilities should be calculatable prior to device_update.
This basically means all the things are to be coming from C++ classes, not
from packed textures and so.

- Kernel might be needed to be reloaded (for example if node set is changed
in the viewport, but it'll need to have proper check around if kernel really
need to be reloaded.

- Device capabilities are to be fast to calculate and for the clearity of the
model should be always passed to the device, without extra checks whether
device actually needs those capabilities.

Current code is not totally optimal for the viewport, but in terms of node
set it matches previous behavior and it also fixes issues around possible
wrong max closure counter passed to the kernel after tweaks in the shader
tree.

P.S. Capability is getting a bit overused here, would need to make clear
naming for it.
May 7, 2015, 11:03 (GMT)
Cycles kernel split: Get rid of legacy selective nodes compilation checks
May 7, 2015, 11:01 (GMT)
Conversion for shape keys back to strands data from edit mode.
May 7, 2015, 10:59 (GMT)
Cycles kernel split: Begin reworking selective node compilation

The idea is to replace previous approach based on parsing SVN nodes stack with
approach which will let us gather required nodes set prior to device update.

The new idea is:

- Have few node groups, starting with a group which contains nodes are used
really often, and then couple of groups which will be extension of this one.

- Have feature-based nodes disabling, so it's possible to disable nodes related
to features which are not used with the currently used nodes group.

This commit only lays down needed routines for this approach, actual split will
happen later after gathering statistics from bunch of production scenes.
May 7, 2015, 10:33 (GMT)
Cleanup: Remove some unneeded white space changes, to make diff clearer
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021