[Bf-blender-cvs] [158a1de4fba] blender2.8: DRW: Fix multithreading conflict with material previews.
Clément Foucault
noreply at git.blender.org
Tue Feb 27 15:51:06 CET 2018
Commit: 158a1de4fba657ae9a204d818dcc3efc27691da0
Author: Clément Foucault
Date: Tue Feb 27 15:50:34 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB158a1de4fba657ae9a204d818dcc3efc27691da0
DRW: Fix multithreading conflict with material previews.
===================================================================
M source/blender/draw/intern/draw_manager.c
===================================================================
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index d9c564fd137..dafd16be270 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -3376,6 +3376,10 @@ void DRW_notify_view_update(const DRWUpdateContext *update_ctx)
return;
}
+ /* XXX Really nasty locking. But else this could
+ * be executed by the material previews thread
+ * while rendering a viewport. */
+ BLI_mutex_lock(&g_ogl_context_mutex);
/* Reset before using it. */
memset(&DST, 0x0, sizeof(DST));
@@ -3400,6 +3404,8 @@ void DRW_notify_view_update(const DRWUpdateContext *update_ctx)
DST.viewport = NULL;
drw_engines_disable();
+
+ BLI_mutex_unlock(&g_ogl_context_mutex);
}
/** \} */
More information about the Bf-blender-cvs
mailing list