Commit: 67c13974e38cb74bf4d43d859f0e57defe73bafb Author: Sergey Sharybin Date: Thu Sep 9 18:25:12 2021 +0200 Branches: cycles-x https://developer.blender.org/rB67c13974e38cb74bf4d43d859f0e57defe73bafb
Fix Cycles X crash when GPUDisplay OpenGL context is failed to be created Better to display empty render result while rendering than to crash and loose data. =================================================================== M intern/cycles/blender/blender_gpu_display.cpp =================================================================== diff --git a/intern/cycles/blender/blender_gpu_display.cpp b/intern/cycles/blender/blender_gpu_display.cpp index 3bcd44f2aa2..48c7f67087f 100644 --- a/intern/cycles/blender/blender_gpu_display.cpp +++ b/intern/cycles/blender/blender_gpu_display.cpp @@ -494,11 +494,18 @@ void BlenderGPUDisplay::gl_context_create() const bool drw_state = DRW_opengl_context_release(); gl_context_ = WM_opengl_context_create_from_thread(); - if (!gl_context_) { + + if (gl_context_) { + /* Context creation leaves it active. Need to release it so that it can be bound from another + * thread. */ + /* TODO(sergey): Need to look again into it: seems on Windoes this generates invalid handle + * error in `wglMakeCurrent()`. */ + WM_opengl_context_release(gl_context_); + } + else { LOG(ERROR) << "Error creating OpenGL context."; } - WM_opengl_context_release(gl_context_); DRW_opengl_context_activate(drw_state); } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs