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:
Diffstat (limited to 'intern/cycles/render/svm.h')
-rw-r--r--intern/cycles/render/svm.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h
index 99e91ca0c3e..a501b6bc8b1 100644
--- a/intern/cycles/render/svm.h
+++ b/intern/cycles/render/svm.h
@@ -23,6 +23,7 @@
#include "util_set.h"
#include "util_string.h"
+#include "util_thread.h"
CCL_NAMESPACE_BEGIN
@@ -46,6 +47,15 @@ public:
void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress);
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,
+ vector<int4> *global_svm_nodes);
};
/* Graph Compiler */
@@ -200,7 +210,7 @@ protected:
/* compile */
void compile_type(Shader *shader, ShaderGraph *graph, ShaderType type);
- vector<int4> svm_nodes;
+ vector<int4> current_svm_nodes;
ShaderType current_type;
Shader *current_shader;
ShaderGraph *current_graph;