From 8733d310e54766d7c07d101e8959bd9f3eaf0daf Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 21 Oct 2021 14:52:34 +0200 Subject: 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. --- intern/cycles/render/svm.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'intern/cycles/render/svm.h') 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> shader_svm_nodes_; + void device_update_shader(Scene *scene, + Shader *shader, + Progress *progress, + array *svm_nodes); }; /* Graph Compiler */ -- cgit v1.2.3