diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-09-08 04:18:49 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-09-08 05:15:50 +0300 |
commit | ccc512cc619dc9f0e6fd79270a7a96ece34d23b5 (patch) | |
tree | da728c4f3745fc352a5e223502ca8734c3c1f01b /source/blender/windowmanager/intern | |
parent | ca8ffc523e3d08fc55c5cf000fa9fc3888950bf7 (diff) |
GPUImmediate: Make activation / deactivation implicit
This avoids unecessary complexity.
Also makes the GPUImmediate threadsafe by using a threadlocal imm variable.
Diffstat (limited to 'source/blender/windowmanager/intern')
-rw-r--r-- | source/blender/windowmanager/intern/wm_playanim.c | 3 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_surface.c | 3 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 2 |
3 files changed, 0 insertions, 8 deletions
diff --git a/source/blender/windowmanager/intern/wm_playanim.c b/source/blender/windowmanager/intern/wm_playanim.c index 86d3f7f35dc..e3c763930c0 100644 --- a/source/blender/windowmanager/intern/wm_playanim.c +++ b/source/blender/windowmanager/intern/wm_playanim.c @@ -1292,7 +1292,6 @@ static char *wm_main_playanim_intern(int argc, const char **argv) /* initialize OpenGL immediate mode */ g_WS.gpu_context = GPU_context_create(g_WS.ghost_window); GPU_init(); - immActivate(); /* initialize the font */ BLF_init(); @@ -1579,8 +1578,6 @@ static char *wm_main_playanim_intern(int argc, const char **argv) GPU_shader_free_builtin_shaders(); - immDeactivate(); - if (g_WS.gpu_context) { GPU_context_active_set(g_WS.gpu_context); GPU_context_discard(g_WS.gpu_context); diff --git a/source/blender/windowmanager/intern/wm_surface.c b/source/blender/windowmanager/intern/wm_surface.c index e8cb5d9cd7d..4139574460b 100644 --- a/source/blender/windowmanager/intern/wm_surface.c +++ b/source/blender/windowmanager/intern/wm_surface.c @@ -56,8 +56,6 @@ void wm_surface_clear_drawable(void) WM_opengl_context_release(g_drawable->ghost_ctx); GPU_context_active_set(NULL); - immDeactivate(); - if (g_drawable->deactivate) { g_drawable->deactivate(); } @@ -79,7 +77,6 @@ void wm_surface_set_drawable(wmSurface *surface, bool activate) } GPU_context_active_set(surface->gpu_ctx); - immActivate(); } void wm_surface_make_drawable(wmSurface *surface) diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 0e19f79e659..795205b8200 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -1099,13 +1099,11 @@ static void wm_window_set_drawable(wmWindowManager *wm, wmWindow *win, bool acti GHOST_ActivateWindowDrawingContext(win->ghostwin); } GPU_context_active_set(win->gpuctx); - immActivate(); } void wm_window_clear_drawable(wmWindowManager *wm) { if (wm->windrawable) { - immDeactivate(); wm->windrawable = NULL; } } |