[Bf-blender-cvs] [7ec3dff04d3] cycles_texture_cache: Cycles: Fixed OSL crashes from texture caching changes.

Stefan Werner noreply at git.blender.org
Fri Nov 8 14:32:30 CET 2019


Commit: 7ec3dff04d3369df1623902f695ebbaddfe783f9
Author: Stefan Werner
Date:   Fri Nov 8 13:54:45 2019 +0100
Branches: cycles_texture_cache
https://developer.blender.org/rB7ec3dff04d3369df1623902f695ebbaddfe783f9

Cycles: Fixed OSL crashes from texture caching changes.

===================================================================

M	intern/cycles/render/osl.cpp
M	intern/cycles/render/shader.cpp
M	intern/cycles/render/shader.h

===================================================================

diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index b2279c4d622..16825938a7b 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -187,7 +187,7 @@ void OSLShaderManager::shading_system_init()
 
   if (ss_shared_users == 0) {
     /* Must use aligned new due to concurrent hash map. */
-    services_shared = util_aligned_new<OSLRenderServices>(ts_shared);
+    services_shared = util_aligned_new<OSLRenderServices>(ts);
 
     string shader_path = path_get("shader");
 #  ifdef _WIN32
@@ -202,7 +202,7 @@ void OSLShaderManager::shading_system_init()
     shader_path = string_to_ansi(shader_path);
 #  endif
 
-    ss_shared = new OSL::ShadingSystem(services_shared, ts_shared, &errhandler);
+    ss_shared = new OSL::ShadingSystem(services_shared, ts, &errhandler);
     ss_shared->attribute("lockgeom", 1);
     ss_shared->attribute("commonspace", "world");
     ss_shared->attribute("searchpath:shader", shader_path);
diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp
index 0f0c7724cc7..ed68711ea82 100644
--- a/intern/cycles/render/shader.cpp
+++ b/intern/cycles/render/shader.cpp
@@ -45,11 +45,6 @@ CCL_NAMESPACE_BEGIN
 
 thread_mutex ShaderManager::lookup_table_mutex;
 
-/* Shared Texture System */
-OIIO::TextureSystem *ShaderManager::ts_shared = NULL;
-int ShaderManager::ts_shared_users = 0;
-thread_mutex ShaderManager::ts_shared_mutex;
-
 vector<float> ShaderManager::beckmann_table;
 bool ShaderManager::beckmann_table_ready = false;
 
diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h
index 791eabfbec9..fa471df5c80 100644
--- a/intern/cycles/render/shader.h
+++ b/intern/cycles/render/shader.h
@@ -227,10 +227,7 @@ class ShaderManager {
   void texture_system_free();
 
   OIIO::TextureSystem *ts;
-  static OIIO::TextureSystem *ts_shared;
-  static thread_mutex ts_shared_mutex;
-  static int ts_shared_users;
-
+  
   float3 xyz_to_r;
   float3 xyz_to_g;
   float3 xyz_to_b;



More information about the Bf-blender-cvs mailing list