Recent SDL2 versions limit functionality of renderer switching on macOS
When compiling SRB2 against SDL2 versions newer than 2.0.12 on macOS, the game can only use the OpenGL renderer when the OpenGL renderer is first initialized. Once you switch back to the software renderer in-game, switching to OpenGL results in nothing being renderered (the screen continues to display the last frame rendered in software).
Here is a video demonstrating this issue, where I start the game in software and switch the renderer a few times. When the screen freezes, that is where I switched to OpenGL a second time; it unfreezes when I switch back to software. https://youtu.be/Y6TcakZxnDw
Reproduction steps:
- Boot game in software, works -> switch to OpenGL, works -> switch to software, works -> switch to OpenGL, does not work -> switch to software, works
- Boot game in OpenGL, works -> switch to software, works -> switch to OpenGL, does not work -> switch to software, works