adding features in Viewport render with OpenCL doesn't trigger a kernel recompile anymore
Closed, ResolvedPublic

Description

System Information
all vendors

Blender Version
Broken: 2.78
Worked: original patch from AMD for split kernel if I remember correctly.

Short description of error
When adding hairs for example while in viewport render, the kernel will not recompile, making the hairs invisible. User has to toggle twice the render mode for the viewport to get it display the scene correctly. No hints is given about what is wrong.

Exact steps for others to reproduce the error
Start viewport render on the default cube scene and add a hair system. It doesn't render. Toggling to solid mode and back to rendered mode solves the problem.

Aaron Carlisle (Blendify) lowered the priority of this task from Normal to Incomplete.Apr 20 2017, 7:23 PM

@mathieu menuet (bliblubli) is this still an issue?

Sergey Sharybin (sergey) raised the priority of this task from Incomplete to Normal.May 12 2017, 4:08 PM

it is still an issue.

@Mai Lavelle (maiself), mind giving some help here? The issue here is that we'll need to somehow teach ccl::Session to re-load kernels when something changes.

Kernels recompiles now, but on every change, even those that don't change anything to the used kernel. For example, max_closure is set to 64 for viewport rendering to prevent recompiling. Since this patch however, adding a shader to the nodetree triggers a recompile, although having 1 or 2 shader is not important as it will be set to 64 anyway.

So in current state, we have worse of both worlds. The recompile of the kernels and no selective compilation so slower kernel.

mathieu menuet (bliblubli) closed this task as Resolved.Jun 5 2017, 8:14 PM

it seems to work properly on another computer, will investigate more. Closing in the meantime.