With Mesa's Gallium3D architecture there are different state trackers like for VA-API and OpenGL that in turn run atop the different Gallium3D hardware drivers with an aim for common code re-use and making the most of capabilities for each of the drivers