†I know that normalized device coordinates are still 3D, so "converting 3D to 2D" is technically wrong, but it conveys the right intuition.
I suspect that per-polygon mipmapping is actually calculated on the CPU. That would mean the actual hardware doesn't really implement mipmapping, it just implements switching between texture LODs on a per-triangle basis (probably that "M" coord in the 0x17 object).
Apparently later drivers from 1999 did actually implement per-pixel mipmapping, but I have a horrible feeling that's achieved by tessellating triangles along the change in LOD boundary, which must take quite a bit of CPU time.
In the modern era the 'compute shaders' part of that has become more dominant and lots of fixed function parts of the graphics pipeline have moved to software.
I'd love to see a more modern take on this if someone has run across it.