In all fairness to the old Mesa ways, when it was designed graphics cards were a lot more about fixed function hardware. There wasn't much sharing because there wasn't much to share, everyone had their own hardware bits.
Originally Posted by drag
With programmable shaders, and particularly universal shaders there's a lot more reason to make a low-level API. There's one layer to expose shading capability through Gallium3D in a standardized way and one fairly* hardware independent one to implement application APIs like OpenGL on shaders. (* optimization may still mean doing things in different ways due to different architecture; but the primitives are the same)