Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey@blender.org>2021-10-21 15:52:34 +0300
committerSergey Sharybin <sergey@blender.org>2021-10-25 10:27:21 +0300
commit8733d310e54766d7c07d101e8959bd9f3eaf0daf (patch)
tree16d85ec44792de281ff5cf281b43146a152012d3 /intern/cycles/render/svm.h
parentb714f9bf437de32dab768d4c28674ca1f3e5b325 (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.h11
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 */