I had to convert all my shaders to support GLSL ES 1.0, and then made some small tweaks to my API calls. The most unfortunate was not having glDrawArraysInstanced, which is unfortunate both for a convenience as well as performance. It didn’t get introduced until well after GL ES 2.0.
But I did manage to get everything rendering after that, and so far performance has been good. I’m still on my SDL “platform”, but I think it’s now essential that I get rid of it on account of how many weird things happen with the window manager:
- If I switch to another application and then switch back, the software keyboard opens, resizing the game to a tiny window. I tried setting SDL “hints” about this to no avail.
- I can’t get a fullscreen window to be the correct resolution. It always seems to be the “low DPI” mode, despite my telling SDL high-DPI is supported and passing 1440x720 to the create function.
- SDL doesn’t seem to have any working way to set landscape or portrait modes. I want to force landscape for the game, but it’s not possible to do so without collaborating with the window manager.
I am confident using Wayland directly will solve these problems.