Fix T65805 Assert "Too many draw engines enabled at the same time"

This commit is contained in:
Clément Foucault 2019-06-17 23:07:41 +02:00
parent 28b06b6a05
commit 741641f4c3
Notes: blender-bot 2023-04-14 09:18:04 +02:00
Referenced by issue #65955, Grease Pencil: drawing shapes on surface causes intense viewport flickering
Referenced by issue #65805, "Too many draw engines enabled at the same time"
1 changed files with 6 additions and 1 deletions

View File

@ -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