At the same time Khronos did the same mistake with extension spaghetti in Vulkan.
However this time they seem to have learned profiles like in proprietary APIs actually make sense.
However this time they seem to have learned profiles like in proprietary APIs actually make sense.
on the other hand, i'm not so sure that i agree with the approach of advertising even basic functionality (e.g. swapchain) through extensions. i understand vulkan has uses outside of graphics. i think that could have been better exposed with hard profile boundaries or something..
You end up with several code paths, where you have an architecture similar to multiple APIs middleware, but actually it is only using OpenGL, or Vulkan, and jungling among all possible cases.
At least now they got why proprietary APIs use profiles.