I'm really not a fan of the x11glvnd extension. QueryServerString has all the properties we'd need to get the same answer: it's server state, it's per-screen, and you don't need a GLX context for it to work.
Given that, and that the server half of the implementation is absolutely trivial, how about we start with something like this? If we wanted a bit more flexibility we could add mapping files in say /etc/glvnd to map from the response string to the vendor name. We'd also want to nail down the exact format of the response string (perhaps a space-separated list of names to iterate over), and to document the whole thing at the GLX spec level. But I'd take all of that over adding an X extension just to avoid extending GLX.