Thanks for the pointer regarding the RenderInfo. This confirms that SDL is indeed using OpenGL. The two reports are:
OpenGL:
Renderer name opengl max texture 16384x16384, texture formats 16161804, 16362004, 16561804, 16762004, 3132564e, 3231564e, 32315659, 56555949
D3D:
Renderer name direct3d max texture 8192x8192, texture formats 16362004, 32315659, 56555949,
So SDL2 is using OpenGL, and the openGL backend supports everything the D3D one does and more. Digging deeper into the performance, it seems that the D3D backend uses batching by default, whereas OpenGL doesn’t, so I set the batching flag on. This improves things, but performance is still 2x better in direct3d.
I should mention that I’m using a low power fanless PC with an intgrated gpu (Intel UHD Graphics 600). Maybe the OpenGL drivers for this unit are just poor compared to D3D?