diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-06-18 00:07:41 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-06-18 00:07:41 +0300 |
commit | 741641f4c3b8f546d40fd56bb06122a64bc245d3 (patch) | |
tree | a51f6120d7c9b0761df264fffec3cd3e27028f66 /source/blender/draw/intern/draw_manager.c | |
parent | 28b06b6a05f7e0efb307aa3f4d2d609c9162358c (diff) |
Fix T65805 Assert "Too many draw engines enabled at the same time"
Diffstat (limited to 'source/blender/draw/intern/draw_manager.c')
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 4762fd91b78..fd6a7fded5e 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -1494,6 +1494,7 @@ void DRW_notify_view_update(const DRWUpdateContext *update_ctx) }; drw_engines_enable(view_layer, engine_type, gpencil_engine_needed); + drw_engines_data_validate(); for (LinkData *link = DST.enabled_engines.first; link; link = link->next) { DrawEngineType *draw_engine = link->data; @@ -1590,7 +1591,6 @@ void DRW_draw_render_loop_ex(struct Depsgraph *depsgraph, /* Get list of enabled engines */ drw_engines_enable(view_layer, engine_type, gpencil_engine_needed); - drw_engines_data_validate(); /* Update ubos */ @@ -2289,6 +2289,7 @@ void DRW_draw_select_loop(struct Depsgraph *depsgraph, drw_engines_enable_from_overlays(v3d->overlay.flag); drw_engines_enable_from_object_mode(); } + drw_engines_data_validate(); /* Setup viewport */ @@ -2516,6 +2517,7 @@ void DRW_draw_depth_loop(struct Depsgraph *depsgraph, if (DRW_state_draw_support()) { drw_engines_enable_from_object_mode(); } + drw_engines_data_validate(); } drw_draw_depth_loop_imp(); @@ -2563,7 +2565,10 @@ void DRW_draw_depth_loop_gpencil(struct Depsgraph *depsgraph, }; use_drw_engine(&draw_engine_gpencil_type); + drw_engines_data_validate(); + drw_draw_depth_loop_imp(); + drw_engines_disable(); #ifdef DEBUG |