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:
authorJeroen Bakker <jbakker>2019-11-13 10:03:44 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2019-11-13 14:55:44 +0300
commite527544b766bb01fb95bff1d98fe5a246aaf7398 (patch)
tree55389acb5f0bc87056dc9414c558231d870bf0ca /intern/cycles/render/nodes.h
parentca1721270a6d3fa8d67b59a014ab94004e24026b (diff)
Cycles: OpenCL Performance
When using OpenCL with Cycles the rendering time increased substantial. After doing some tests the bottleneck was found in 4d voronoi and 2d and 3d smooth voronoi. This change will hide these behind a specific compile directive so the speed will improve. AMD RX480 + BMW scene 2.80 (3:10) 2.81 (5:48) 2.81 excluding 4d voronoi+2d/3d smooth (3:50) Reviewed By: sergey Differential Revision: https://developer.blender.org/D6231
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r--intern/cycles/render/nodes.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index 13e9b65fa07..62037b0d381 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -220,6 +220,18 @@ class VoronoiTextureNode : public TextureNode {
return NODE_GROUP_LEVEL_2;
}
+ virtual int get_feature()
+ {
+ int result = ShaderNode::get_feature();
+ if (dimensions == 4) {
+ result |= NODE_FEATURE_VORONOI_EXTRA;
+ }
+ else if (dimensions >= 2 && feature == NODE_VORONOI_SMOOTH_F1) {
+ result |= NODE_FEATURE_VORONOI_EXTRA;
+ }
+ return result;
+ }
+
int dimensions;
NodeVoronoiDistanceMetric metric;
NodeVoronoiFeature feature;