Porting 1.2 to 2 general advice wanted

I’m porting AGAR for SDL1.2 to SDL2.

I Looking through the code there is support for frame buffers aka surfaces and OpenGL. The AGAR approach provides two separate drivers (one for each). And there is no texture support.

I’m new to SDL but it appears to me that having a separate driver to handle each type surfaces and OpenGL misses the point of SDL2 which should take care of sellecting the best underlying graphics technology.

I get the impression that in SDL1 the designer had to make a choice and manually chose which underlying technology to use! Is this correct?

I am tempted to remove the separate driver approach and just provide texture support via a renderer and let SDL2 decide which driver it wants to sellect. That will effectively allow me to just concentrate on one driver!

Taken from the migration guide:

A renderer hides the details of how we draw into the window. This might be using Direct3D, OpenGL, OpenGL ES, or software surfaces behind the scenes, …

Any thoughts regarding this appreciated.

Yes, there is no reason to maintain two rendering paths. Since they both use OpenGL now, just chose whichever path you like most (and maybe write some code to time to see which one is more efficient).