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:
Diffstat (limited to 'intern/cycles/render/geometry.cpp')
-rw-r--r--intern/cycles/render/geometry.cpp39
1 files changed, 30 insertions, 9 deletions
diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index a63fc620c69..12f4eaf0b79 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -1410,12 +1410,17 @@ void GeometryManager::device_update(Device *device,
true_displacement_used = true;
}
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
}
}
+ if (progress.get_cancel()) {
+ return;
+ }
+
/* Tessellate meshes that are using subdivision */
if (total_tess_needed) {
scoped_callback_timer timer([scene](double time) {
@@ -1453,10 +1458,15 @@ void GeometryManager::device_update(Device *device,
i++;
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
}
+
+ if (progress.get_cancel()) {
+ return;
+ }
}
/* Update images needed for true displacement. */
@@ -1486,8 +1496,9 @@ void GeometryManager::device_update(Device *device,
});
device_update_mesh(device, dscene, scene, true, progress);
}
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
{
scoped_callback_timer timer([scene](double time) {
@@ -1496,8 +1507,9 @@ void GeometryManager::device_update(Device *device,
}
});
device_update_attributes(device, dscene, scene, progress);
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
/* Update displacement. */
@@ -1527,11 +1539,16 @@ void GeometryManager::device_update(Device *device,
}
}
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
}
+ if (progress.get_cancel()) {
+ return;
+ }
+
/* Device re-update after displacement. */
if (displacement_done) {
scoped_callback_timer timer([scene](double time) {
@@ -1543,8 +1560,9 @@ void GeometryManager::device_update(Device *device,
device_free(device, dscene);
device_update_attributes(device, dscene, scene, progress);
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
{
@@ -1591,8 +1609,9 @@ void GeometryManager::device_update(Device *device,
}
}
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
{
scoped_callback_timer timer([scene](double time) {
@@ -1601,8 +1620,9 @@ void GeometryManager::device_update(Device *device,
}
});
device_update_bvh(device, dscene, scene, progress);
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
{
@@ -1613,8 +1633,9 @@ void GeometryManager::device_update(Device *device,
}
});
device_update_mesh(device, dscene, scene, false, progress);
- if (progress.get_cancel())
+ if (progress.get_cancel()) {
return;
+ }
}
need_update = false;