Commit: 20e5fc4d328bf566841f22b16de809da8de15bf7
Author: Antonioya
Date:   Wed Aug 1 10:58:10 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB20e5fc4d328bf566841f22b16de809da8de15bf7

Fix context problem when render in background mode

Bug reported by Sergey.

===================================================================

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 0c731811f32..ab50e6673f2 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1659,7 +1659,24 @@ void DRW_render_gpencil(struct RenderEngine *engine, 
struct Depsgraph *depsgraph
        Render *render = engine->re;
        /* Changing Context */
        /* GPXX Review this context */
-       DRW_opengl_context_enable();
+       if (G.background && DST.gl_context == NULL) {
+               WM_init_opengl(G_MAIN);
+       }
+
+       void *re_gl_context = RE_gl_context_get(render);
+       void *re_gpu_context = NULL;
+
+       /* Changing Context */
+       if (re_gl_context != NULL) {
+               DRW_opengl_render_context_enable(re_gl_context);
+               /* We need to query gpu context after a gl context has been 
bound. */
+               re_gpu_context = RE_gpu_context_get(render);
+               DRW_gawain_render_context_enable(re_gpu_context);
+       }
+       else {
+               DRW_opengl_context_enable();
+       }
+
        /* Reset before using it. */
        drw_state_prepare_clean_for_draw(&DST);
        DST.options.is_image_render = true;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to