6312e94cec
When changing render engine, we discard the persistent data that could be saved for all the current render instance that exists. This is to save memory for the new renderer. When doing so while rendering for F12, `engine_depsgraph_free` is called after waiting for the render to finish. But this can be called before the renderer destruction and on the main thread. Doing so on the main thread means that the `gpu_context` used by the renderer cannot be bound for the sake of just receiving the orphan buffers that the depsgraph holds. This is because only the worker thread can make the gpu context active. Binding the draw gpu context in this situation avoid all possible conflict. This is basically doing exactly what the `DRW_render_context_enable/disable` function is doing internally if the render engine gpu context is null. Pull Request: https://projects.blender.org/blender/blender/pulls/129982