Commit: c6c6d20b15b84397ee1bc7a845e29d37f0c0eee4
Author: Sergey Sharybin
Date: Tue Jun 29 14:16:26 2021 +0200
Branches: cycles-x
https://developer.blender.org/rBc6c6d20b15b84397ee1bc7a845e29d37f0c0eee4
Cycles X: Fix crash using CPU and OptiX denoiser in viewport
Not sure why it is only visible now, there was a buffer overrun since
the initial CPU Render + OptiX denoise support commit by the looks of
it.
There now seems to be a synchronization issue between queues, leading
to only partial buffer update in the viewport. Investigating this now.
===================================================================
M intern/cycles/integrator/denoiser_device.cpp
===================================================================
diff --git a/intern/cycles/integrator/denoiser_device.cpp
b/intern/cycles/integrator/denoiser_device.cpp
index dec5b69e9a1..e13cf467204 100644
--- a/intern/cycles/integrator/denoiser_device.cpp
+++ b/intern/cycles/integrator/denoiser_device.cpp
@@ -198,9 +198,12 @@ void DeviceDenoiser::denoise_buffer_on_device(Device
*device,
/* TODO(sergey): Avoid `zero_to_device()`. */
local_render_buffers.reset(buffer_params);
+ /* NOTE: The local buffer is allocated for an exact size of the effective
render size, while
+ * the input render buffer is allcoated for the lowest resolution divider
possible. So it is
+ * important to only copy actually needed part of the input buffer. */
memcpy(local_render_buffers.buffer.data(),
render_buffers->buffer.data(),
- sizeof(float) * render_buffers->buffer.size());
+ sizeof(float) * local_render_buffers.buffer.size());
local_render_buffers.copy_to_device();
task.render_buffers = &local_render_buffers;
@@ -213,7 +216,7 @@ void DeviceDenoiser::denoise_buffer_on_device(Device
*device,
local_render_buffers.copy_from_device();
memcpy(render_buffers->buffer.data(),
local_render_buffers.buffer.data(),
- sizeof(float) * render_buffers->buffer.size());
+ sizeof(float) * local_render_buffers.buffer.size());
render_buffers->copy_to_device();
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs