KhronosGroup / OpenGL-Registry

OpenGL, OpenGL ES, and OpenGL ES-SC API and Extension Registry
689 stars 275 forks source link

[XML] Fixes for groups, which are supposed to differ only in vendor id's #543

Open SunSerega opened 2 years ago

SunSerega commented 2 years ago

I agree with this, adding vendor suffixes to group names was a bad idea. But this PR doesn't remove them all, because the suffix can be trivially removed on a per-binding basis, most of the time. Either because there is no group without a suffix, or because it has the same set of enum values. I can also make a PR that removes all vendor suffixes while retaining all info of XML, but that will probably break too many things downstream.

However, there are a few cases like ConvolutionTarget/ConvolutionTargetEXT where both groups are meant to be one. Still, the addition of enum values to them was inconsistent. And so now they can't be merged trivially. In these cases, I merged them back into one group. And added a check to my binding generators' log, so I will notice if such behavior arises again.

I was working on this in and out before #520 got merged, and there is one more case I'd like to look into, a bit more confusing than the rest. But also I'd love some feedback. So draft for now.

Perksey commented 2 years ago

Tbf I think it's probably time we take a serious look at the groups (per #481) and try and establish a sane baseline i.e. let's remove the suffixes where we think they're no longer relevant, as well as fix as many more issues as possible so we can get to a point where we're happy with what we have and move forward. e.g. BufferTargetARB probably doesn't need the ARB suffix anymore.