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:
authorSergey Sharybin <sergey@blender.org>2022-02-18 17:32:24 +0300
committerSergey Sharybin <sergey@blender.org>2022-02-18 17:32:24 +0300
commit303b566b10f9008f6608a3cce08dbac3c64b6b4a (patch)
treec0fe37b5ae98bcd2a76770bdaa705fda0ab1e531 /intern/cycles/blender/session.cpp
parent40cddcd917a7de26a89908b82c6583ace8f76641 (diff)
parente4b7d52fe4fe3076f5f68ff575c200f5cf16e416 (diff)
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'intern/cycles/blender/session.cpp')
-rw-r--r--intern/cycles/blender/session.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/intern/cycles/blender/session.cpp b/intern/cycles/blender/session.cpp
index 8917c703700..5e9066da5de 100644
--- a/intern/cycles/blender/session.cpp
+++ b/intern/cycles/blender/session.cpp
@@ -493,8 +493,13 @@ void BlenderSession::render_frame_finish()
session->set_output_driver(nullptr);
session->full_buffer_written_cb = function_null;
- /* The display driver holds OpenGL resources which belong to an OpenGL context held by the render
- * engine on Blender side. Force destruction of those resources. */
+ /* The display driver is the source of drawing context for both drawing and possible graphics
+ * interop objects in the path trace. Once the frame is finished the OpenGL context might be
+ * freed form Blender side. Need to ensure that all GPU resources are freed prior to that
+ * point.
+ * Ideally would only do this when OpenGL context is actually destroyed, but there is no way to
+ * know when this happens (at least in the code at the time when this comment was written).
+ * The penalty of re-creating resources on every frame is unlikely to be noticed. */
display_driver_ = nullptr;
session->set_display_driver(nullptr);