[Bf-blender-cvs] [d6b54068d48] master: Cleanup: Unused device argument in host update functions

Sergey Sharybin noreply at git.blender.org
Tue Oct 19 11:30:43 CEST 2021


Commit: d6b54068d48da9975a997c4fcf2992c0418471eb
Author: Sergey Sharybin
Date:   Tue Oct 19 11:13:26 2021 +0200
Branches: master
https://developer.blender.org/rBd6b54068d48da9975a997c4fcf2992c0418471eb

Cleanup: Unused device argument in host update functions

Better not to tempt anyone from using unsafe access to device
functionality during host update.

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

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

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

diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index ef24c1876f3..77863fa0137 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -91,7 +91,7 @@ void OSLShaderManager::reset(Scene * /*scene*/)
   shading_system_init();
 }
 
-void OSLShaderManager::host_update_specific(Device * /*device*/, Scene *scene, Progress &progress)
+void OSLShaderManager::host_update_specific(Scene *scene, Progress &progress)
 {
   if (!need_update()) {
     return;
diff --git a/intern/cycles/render/osl.h b/intern/cycles/render/osl.h
index 7b7b8cc8dc5..1da8d8d0026 100644
--- a/intern/cycles/render/osl.h
+++ b/intern/cycles/render/osl.h
@@ -79,7 +79,7 @@ class OSLShaderManager : public ShaderManager {
     return true;
   }
 
-  void host_update_specific(Device *device, Scene *scene, Progress &progress) override;
+  void host_update_specific(Scene *scene, Progress &progress) override;
 
   void device_update_specific(Device *device,
                               DeviceScene *dscene,
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index 17dc99dd589..6d79536061e 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -228,7 +228,7 @@ void Scene::free_memory(bool final)
   }
 }
 
-void Scene::host_update(Device *device, Progress &progress)
+void Scene::host_update(Progress &progress)
 {
   if (update_stats) {
     update_stats->clear();
@@ -241,7 +241,7 @@ void Scene::host_update(Device *device, Progress &progress)
   });
 
   progress.set_status("Updating Shaders");
-  shader_manager->host_update(device, this, progress);
+  shader_manager->host_update(this, progress);
 }
 
 void Scene::device_update(Device *device_, Progress &progress)
@@ -552,7 +552,7 @@ bool Scene::update(Progress &progress)
   /* Update scene data on the host side.
    * Only updates which do not depend on the kernel (including kernel features). */
   progress.set_status("Updating Scene");
-  MEM_GUARDED_CALL(&progress, host_update, device, progress);
+  MEM_GUARDED_CALL(&progress, host_update, progress);
 
   /* Load render kernels. After host scene update so that the required kernel features are known.
    */
diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h
index 83abb4c28db..87fbc872c0a 100644
--- a/intern/cycles/render/scene.h
+++ b/intern/cycles/render/scene.h
@@ -251,9 +251,7 @@ class Scene : public NodeOwner {
   Scene(const SceneParams &params, Device *device);
   ~Scene();
 
-  /* NOTE: Device can only use used to access invariant data. For example, OSL globals is valid
-   * but anything what is related on kernel and kernel features is not. */
-  void host_update(Device *device, Progress &progress);
+  void host_update(Progress &progress);
 
   void device_update(Device *device, Progress &progress);
 
diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp
index cf18b269d4c..171cbb89549 100644
--- a/intern/cycles/render/shader.cpp
+++ b/intern/cycles/render/shader.cpp
@@ -462,7 +462,7 @@ int ShaderManager::get_shader_id(Shader *shader, bool smooth)
   return id;
 }
 
-void ShaderManager::host_update(Device *device, Scene *scene, Progress &progress)
+void ShaderManager::host_update(Scene *scene, Progress &progress)
 {
   if (!need_update()) {
     return;
@@ -480,7 +480,7 @@ void ShaderManager::host_update(Device *device, Scene *scene, Progress &progress
   assert(scene->default_background->reference_count() != 0);
   assert(scene->default_empty->reference_count() != 0);
 
-  host_update_specific(device, scene, progress);
+  host_update_specific(scene, progress);
 }
 
 void ShaderManager::device_update(Device *device,
diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h
index db5e06a715e..44d88ac0e93 100644
--- a/intern/cycles/render/shader.h
+++ b/intern/cycles/render/shader.h
@@ -193,8 +193,8 @@ class ShaderManager {
     return false;
   }
 
-  void host_update(Device *device, Scene *scene, Progress &progress);
-  virtual void host_update_specific(Device *device, Scene *scene, Progress &progress) = 0;
+  void host_update(Scene *scene, Progress &progress);
+  virtual void host_update_specific(Scene *scene, Progress &progress) = 0;
 
   /* device update */
   void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress &progress);
diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp
index efbc446fc49..a670ceb3ea3 100644
--- a/intern/cycles/render/svm.cpp
+++ b/intern/cycles/render/svm.cpp
@@ -69,7 +69,7 @@ static void host_compile_shader(Scene *scene,
           << summary.full_report();
 }
 
-void SVMShaderManager::host_update_specific(Device * /*device*/, Scene *scene, Progress &progress)
+void SVMShaderManager::host_update_specific(Scene *scene, Progress &progress)
 {
   if (!need_update()) {
     return;
diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h
index e3c42b5a45a..a45c66907b1 100644
--- a/intern/cycles/render/svm.h
+++ b/intern/cycles/render/svm.h
@@ -46,7 +46,7 @@ class SVMShaderManager : public ShaderManager {
 
   void reset(Scene *scene) override;
 
-  void host_update_specific(Device *device, Scene *scene, Progress &progress) override;
+  void host_update_specific(Scene *scene, Progress &progress) override;
 
   void device_update_specific(Device *device,
                               DeviceScene *dscene,



More information about the Bf-blender-cvs mailing list