diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-02-18 17:32:24 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-02-18 17:32:24 +0300 |
commit | 303b566b10f9008f6608a3cce08dbac3c64b6b4a (patch) | |
tree | c0fe37b5ae98bcd2a76770bdaa705fda0ab1e531 /intern/cycles/blender/session.cpp | |
parent | 40cddcd917a7de26a89908b82c6583ace8f76641 (diff) | |
parent | e4b7d52fe4fe3076f5f68ff575c200f5cf16e416 (diff) |
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'intern/cycles/blender/session.cpp')
-rw-r--r-- | intern/cycles/blender/session.cpp | 9 |
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); |