I’m unsure what you mean by “software rendering” in this context. SDL2_gfx (and my own extensions) ultimately call SDL_RenderDrawPoints()
or SDL_RenderDrawLine()
so they do, indirectly, benefit from accelerated hardware rendering, if enabled.
Having to decompose everything to points and lines adds a bottleneck, certainly, but I wouldn’t describe it as “software rendering”.