Some convex shapes (circles, ovals, rounded rects, etc.) are rendered by tesselating the path. That's also how simple strokes are handled.
If a path is too complex the hardware renderer falls back to software. The path is drawn into a bitmap that is the uploaded to a GL texture and rendered on screen using a simple quad.
The native_drawPath function you mention is not used by hardware acceleration. Its used by the software renderer.