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:
authorLukas Stockner <lukas.stockner@freenet.de>2019-07-31 09:29:18 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2019-07-31 22:03:45 +0300
commitfeed46c4ae480ccd3f1b1ee6bb61adaf308f85c3 (patch)
tree473f993bc20614aa7459aecb9d1fa52a5c92f86b /intern/cycles/render/svm.h
parentc72f6b713f8323e0e7a71e91064f699bb9b288ab (diff)
Merge per-shader SVM nodes in the main update thread to avoid locking and resizing overhead
In a test file containing 1300 copies of the same shader, this reduces shader update time from 3.1 sec to 0.05 sec. Thanks to @swerner for noticing this issue. Reviewers: brecht, sergey, swerner Subscribers: swerner Differential Revision: https://developer.blender.org/D5376
Diffstat (limited to 'intern/cycles/render/svm.h')
-rw-r--r--intern/cycles/render/svm.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h
index d6964fb158b..7eac3e19bb3 100644
--- a/intern/cycles/render/svm.h
+++ b/intern/cycles/render/svm.h
@@ -50,13 +50,10 @@ class SVMShaderManager : public ShaderManager {
void device_free(Device *device, DeviceScene *dscene, Scene *scene);
protected:
- /* Lock used to synchronize threaded nodes compilation. */
- thread_spin_lock nodes_lock_;
-
void device_update_shader(Scene *scene,
Shader *shader,
Progress *progress,
- array<int4> *global_svm_nodes);
+ array<int4> *svm_nodes);
};
/* Graph Compiler */