Blender Git Commit Log

Git Commits -> Revision cfa2b30

Revision cfa2b30 by Clément Foucault (temp-drawcontext)
February 9, 2018, 20:04 (GMT)
DRW: Add own opengl context to DrawManager.

We create a new offscreen render context (without a window attached as allowed by ogl > 3.0) and use it to draw everything in the draw manager.
This require the context to be setup right. The output Framebuffer need to be created under the drawmanager context (because FBOs are not shared).
Same goes for deletion. Although, fix for proper deletion will come in another commit.

This should fix the MultiWindow/Threaded Render issue. Now every single batch drawn by the draw manager is declared and drawn by the same context.
So the VAO problem is gone and only one VAO per batch is needed.

VAO deletion is also a concern that still needs to be addressed correctly.

We still have issues with ownership and freeing

Commit Details:

Full Hash: cfa2b3019dc759889e50060713e4678f51a87153
Parent Commit: 95e8a52
Lines Changed: +139, -16

9 Modified Paths:

/source/blender/draw/DRW_engine.h (+5, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+100, -6) (Diff)
/source/blender/editors/render/render_internal.c (+0, -9) (Diff)
/source/blender/editors/render/render_opengl.c (+8, -0) (Diff)
/source/blender/editors/space_view3d/view3d_draw.c (+3, -0) (Diff)
/source/blender/editors/space_view3d/view3d_view.c (+11, -1) (Diff)
/source/blender/gpu/intern/gpu_viewport.c (+6, -0) (Diff)
/source/blender/windowmanager/CMakeLists.txt (+1, -0) (Diff)
/source/blender/windowmanager/intern/wm_init_exit.c (+5, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021