I won’t defend the state soup, but there are upsides: the GL api has no structs which makes it easier to port the API to different languages and environments.
The state model isn’t nearly as much of an issue for the fixed function architectures it was originally developed for, you can see how adherence to the extension mechanism and the resulting design by committee left its marks. Microsoft didn’t have those constraints.
The state model isn’t nearly as much of an issue for the fixed function architectures it was originally developed for, you can see how adherence to the extension mechanism and the resulting design by committee left its marks. Microsoft didn’t have those constraints.