[Bf-blender-cvs] [12960184f61] cycles_procedural_api: tweak GeometryManager update tagging

Kévin Dietrich noreply at git.blender.org
Fri Nov 6 18:48:00 CET 2020


Commit: 12960184f61fbb1b4ba5a551c1ad6438f40dc487
Author: Kévin Dietrich
Date:   Fri Nov 6 11:44:54 2020 +0100
Branches: cycles_procedural_api
https://developer.blender.org/rB12960184f61fbb1b4ba5a551c1ad6438f40dc487

tweak GeometryManager update tagging

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

M	intern/cycles/render/geometry.cpp

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

diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index c8285461aed..1db1a28f91e 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -265,17 +265,20 @@ void Geometry::tag_update(Scene *scene, bool rebuild)
     scene->light_manager->tag_update(scene, LightManager::MESH_NEED_REBUILD);
   }
   else {
-    if (is_modified()) {
-      foreach (Node *node, used_shaders) {
-        Shader *shader = static_cast<Shader *>(node);
-        if (shader->has_surface_emission) {
-          scene->light_manager->tag_update(scene, LightManager::EMISSIVE_MESH_MODIFIED);
-          break;
-        }
+    foreach (Node *node, used_shaders) {
+      Shader *shader = static_cast<Shader *>(node);
+      if (shader->has_surface_emission) {
+        scene->light_manager->tag_update(scene, LightManager::EMISSIVE_MESH_MODIFIED);
+        break;
       }
     }
   }
 
+  if (!is_modified()) {
+    scene->geometry_manager->need_flags_update = true;
+    return;
+  }
+
   scene->geometry_manager->need_update = true;
   scene->object_manager->tag_update(scene, ObjectManager::GEOMETRY_MODIFIED);
 }
@@ -1429,6 +1432,10 @@ void GeometryManager::device_update_preprocess(Device *device, Scene *scene, Pro
     device_update_flags |= DEVICE_CURVE_DATA_NEEDS_REALLOC;
   }
 
+  if (device_update_flags != 0) {
+    need_update = true;
+  }
+
   need_flags_update = false;
 }



More information about the Bf-blender-cvs mailing list