diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-06-29 17:41:00 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-06-29 18:18:11 +0300 |
commit | d140e70c496122915eb5c05aba83153e2e0d7998 (patch) | |
tree | 1e589247d69da64aa7b0e7802319237ec050b5d6 /intern/cycles/render/shader.h | |
parent | 147bd16ed1bb3415b30408b0eab110d0854eadd2 (diff) | |
parent | 295d0c52a26730edc6d4ed1276e4051cce006be5 (diff) |
Merge branch 'master' into temp-ghash-experimentstemp-ghash-experiments
Note that 'store hash' feature was removed for now - to complex to maintain (conflicts)
and relatively easy to re-add if we ever really want this one day.
Conflicts:
source/blender/blenlib/BLI_ghash.h
source/blender/blenlib/intern/BLI_ghash.c
source/blender/blenlib/intern/hash_mm2a.c
source/blender/bmesh/tools/bmesh_region_match.c
tests/gtests/blenlib/BLI_ghash_performance_test.cc
tests/gtests/blenlib/BLI_ghash_test.cc
tests/gtests/blenlib/CMakeLists.txt
Diffstat (limited to 'intern/cycles/render/shader.h')
-rw-r--r-- | intern/cycles/render/shader.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 1dee47c7731..64d45635ef1 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -36,6 +36,7 @@ #include "util_map.h" #include "util_param.h" #include "util_string.h" +#include "util_thread.h" #include "util_types.h" CCL_NAMESPACE_BEGIN @@ -103,7 +104,6 @@ public: bool has_volume; bool has_displacement; bool has_surface_bssrdf; - bool has_converter_blackbody; bool has_bssrdf_bump; bool has_heterogeneous_volume; bool has_object_dependency; @@ -165,17 +165,25 @@ public: * have any shader assigned explicitly */ static void add_default(Scene *scene); + /* Selective nodes compilation. */ + void get_requested_features(Scene *scene, + int& max_group, + int& features); + protected: ShaderManager(); typedef unordered_map<ustring, uint, ustringHash> AttributeIDMap; AttributeIDMap unique_attribute_id; - vector<float> blackbody_table; - vector<float> beckmann_table; + thread_mutex lookup_table_mutex; + static vector<float> beckmann_table; - size_t blackbody_table_offset; size_t beckmann_table_offset; + + void get_requested_graph_features(ShaderGraph *graph, + int& max_group, + int& features); }; CCL_NAMESPACE_END |