Blender Git Loki

Blender Git "cycles_kernel_split" branch commits.

Page: 4 / 11

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, 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
May 7, 2015, 10:07 (GMT)
Merge branch 'master' into cycles_kernel_split

Conflicts:
intern/cycles/kernel/svm/svm.h
May 7, 2015, 09:56 (GMT)
Cycles kernel split: Move address space specification to DebugData typedef

Debug pass does not really work, but it isn't caused by this change and would
need to have separate look.
May 7, 2015, 09:26 (GMT)
Cycles kernel split: Move address space specification to PathRadiance typedef
May 7, 2015, 09:16 (GMT)
Cycles kernel split: Move address space specification to Intersection typedef
May 7, 2015, 09:01 (GMT)
Cycles kernel split: Move address space specification to ShaderClosure typedef
May 7, 2015, 08:52 (GMT)
Cycles kernel split: Move address space specification to ShaderData typedef

Same as previous change, reduces amount of technical changes related to adding
ccl_addr_space all over the place in the kernel.
May 7, 2015, 08:43 (GMT)
Merge branch 'master' into cycles_kernel_split
May 7, 2015, 08:39 (GMT)
Cycles kernel split: Move address space specification to KernelGlobals typedef

This way we don't need to add ccl_addr_space specification all over the kernel
for KernelGlobals.
May 6, 2015, 18:35 (GMT)
Cycles kernel split : Disable TRANSPARENT_SHADOWS for AMD platform

AMD platform has some known issues with TRANSPARENT_SHADOWS feature.
Disabling TRANSPARENT_SHADOWS until AMD drivers overcome the issues.
May 6, 2015, 17:38 (GMT)
Cycles kernel split : Remove SPLIT_KERNEL suffix in device_opencl.cpp
May 6, 2015, 17:38 (GMT)
Cycles kernel split : Remove misleading load_kernels progress bar status
May 6, 2015, 13:00 (GMT)
Cycles kernel split: Clarify some comments in session.h
May 6, 2015, 12:58 (GMT)
Cycles kernel split: De-duplicate image updating

Was harmless issue caused by merge conflict, but still no reason to
try updating images twice :)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021