diff options
author | Sergey Sharybin <sergey@blender.org> | 2021-10-21 15:52:34 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2021-10-25 10:27:21 +0300 |
commit | 8733d310e54766d7c07d101e8959bd9f3eaf0daf (patch) | |
tree | 16d85ec44792de281ff5cf281b43146a152012d3 /intern/cycles/render/svm.h | |
parent | b714f9bf437de32dab768d4c28674ca1f3e5b325 (diff) |
Cycles: Revert all host update specific changes
The approach didn't turn out to be that useful after all as there
are unavoidable dependencies of data from the device. For example,
to know whether object intersects volume or not it is required to
run displacement kernels.
The way of splitting host and device updates caused state where
some data is not yet available, causing confusion and leaving
code to be error-prone.
Diffstat (limited to 'intern/cycles/render/svm.h')
-rw-r--r-- | intern/cycles/render/svm.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index a45c66907b1..0353c393ae4 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -46,8 +46,6 @@ class SVMShaderManager : public ShaderManager { void reset(Scene *scene) override; - void host_update_specific(Scene *scene, Progress &progress) override; - void device_update_specific(Device *device, DeviceScene *dscene, Scene *scene, @@ -55,11 +53,10 @@ class SVMShaderManager : public ShaderManager { void device_free(Device *device, DeviceScene *dscene, Scene *scene) override; protected: - /* Compiled shader nodes. - * - * The compilation happens in the `host_update_specific()`, and the `device_update_specific()` - * moves these nodes to the device. */ - vector<array<int4>> shader_svm_nodes_; + void device_update_shader(Scene *scene, + Shader *shader, + Progress *progress, + array<int4> *svm_nodes); }; /* Graph Compiler */ |