[Bf-blender-cvs] [509b637d594] master: Cleanup: don't copy constant memory to GPU multiple times for displacement
Brecht Van Lommel
noreply at git.blender.org
Fri Oct 15 15:59:43 CEST 2021
Commit: 509b637d594f97ce1504c65430d0643ecb4c6f9a
Author: Brecht Van Lommel
Date: Thu Oct 14 17:52:19 2021 +0200
Branches: master
https://developer.blender.org/rB509b637d594f97ce1504c65430d0643ecb4c6f9a
Cleanup: don't copy constant memory to GPU multiple times for displacement
===================================================================
M intern/cycles/render/geometry.cpp
M intern/cycles/render/mesh_displace.cpp
===================================================================
diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index 39681ef3d66..0304f168187 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -1800,6 +1800,9 @@ void GeometryManager::device_update(Device *device,
size_t num_bvh = 0;
{
+ /* Copy constant data needed by shader evaluation. */
+ device->const_copy_to("__data", &dscene->data, sizeof(dscene->data));
+
scoped_callback_timer timer([scene](double time) {
if (scene->update_stats) {
scene->update_stats->geometry.times.add_entry({"device_update (displacement)", time});
diff --git a/intern/cycles/render/mesh_displace.cpp b/intern/cycles/render/mesh_displace.cpp
index bf8a4585907..a08874e6fa8 100644
--- a/intern/cycles/render/mesh_displace.cpp
+++ b/intern/cycles/render/mesh_displace.cpp
@@ -191,9 +191,6 @@ bool GeometryManager::displace(
}
}
- /* Needs to be up to data for attribute access. */
- device->const_copy_to("__data", &dscene->data, sizeof(dscene->data));
-
/* Evaluate shader on device. */
ShaderEval shader_eval(device, progress);
if (!shader_eval.eval(SHADER_EVAL_DISPLACE,
More information about the Bf-blender-cvs
mailing list