OpenGL is not broken, and if AMD have anything to complain about it's their implementation.
But, OpenGL is outdated, the same way Direct3D, OpenCL, Mantle and Metal are outdated and old style APIs. They all work by sending thousands of small requests from the CPU to the GPU. Reducing the API overhead only helps performing some more API calls, but still doesn't allow us to utilize the GPUs efficiently.
What we really need is a lowlevel universal GPU programming language where we can implement the graphics pipeline ourselves, or do compute. 6-7 rigid shader types in a pipeline accessing predefined data is inefficient. "Bindless graphics" extensions with pointers and customized data structures is a step in the right direction. Features in CUDA like controlling threads, transferring data from the GPU, etc. are getting close.
With a low level language, driver development will be easier, and anyone can create their framework on top of it. Heck, even Apple can create their own "Metal" on top of that...