JRP You need to get a better understanding of how video display works.
You have data, (arrays of pixels, mesh constructs, whatever), you wish to display this data on the screen. Now if you had hardware acceleration, you feed the data to the hardware accelerator, and it does everything for you, and since it was designed for this purpose, it does this much faster than you ever could.
Now if you lack a hardware acclerator, or if you choose not to use it, you have to manually do each invididual calculation and memory transfer, which is much slower because of the extra work thats involved. This "manual" method, of which your "SOFTWARE" program renders the graphics rather than letting the "HARDWARE" do all the work, is called software rendering.
Hardware acceleration simply makes the proccess of going from raw data to pixels on the screen much faster. It doesnt make a bit of difference if its 2d or 3d, because your screen is still 2d so all math and images must be converted to 2d pixels on the screen.
So any device with the capability to display images on the screen, has the ability to use software rendering, it takes a hardware accelerator to use hardware acceleration, which most devices do not have.