Some rendering issues can be caused by the OpenGL state changes made by the frontend. Using separate OpenGL contexts for the core and for the frontend prevents these kinds of issues.
Before:
After:
More rendering issues are caused by leftover OpenGL state when switching games. Destroying and re-creating the OpenGL state on core shutdown resolves this.
Loading Metroid Prime, then Mario 64
Before:
After:
Some rendering issues can be caused by the OpenGL state changes made by the frontend. Using separate OpenGL contexts for the core and for the frontend prevents these kinds of issues.
Before:
After:
![image](https://user-images.githubusercontent.com/975426/222960992-6992b7f4-b055-47ad-8c4d-24b10b637925.png)
More rendering issues are caused by leftover OpenGL state when switching games. Destroying and re-creating the OpenGL state on core shutdown resolves this.
Loading Metroid Prime, then Mario 64 Before:
After:
![image](https://user-images.githubusercontent.com/975426/222961276-17ae8231-2a69-493f-a4ec-a84d73d2b66b.png)