diff options
-rw-r--r-- | source/blender/draw/intern/draw_manager_exec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c index e6248b70df5..2e8ba259a31 100644 --- a/source/blender/draw/intern/draw_manager_exec.c +++ b/source/blender/draw/intern/draw_manager_exec.c @@ -1315,6 +1315,10 @@ static void drw_draw_pass_ex(DRWPass *pass, DRWShadingGroup *start_group, DRWSha drw_update_view(); + /* GPU_framebuffer_clear calls can change the state outside the DRW module. + * Force reset the affected states to avoid problems later. */ + drw_state_set(DST.state | DRW_STATE_WRITE_DEPTH | DRW_STATE_WRITE_COLOR); + drw_state_set(pass->state); DRW_stats_query_start(pass->name); |