Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

BindingGenerator conflates core and extension constants #168

Open
numberZero opened this issue Feb 28, 2023 · 2 comments
Open

BindingGenerator conflates core and extension constants #168

numberZero opened this issue Feb 28, 2023 · 2 comments
Labels

Comments

@numberZero
Copy link
Contributor

BindingGenerator conflates constant names with different vendor suffixes. But these constants aren’t always equal. I’ve written a tool and it found 18 discrepancies in glcorearb.h and gl2ext.h together.

Khronos/Khronos discrepancy:

  • GL_UNSIGNED_INT_10_10_10_2: 0x8036 (core), 0x8df6 (OES)
  • GL_HALF_FLOAT: 0x140b (core), 0x8d61 (OES)
  • GL_GEOMETRY_VERTICES_OUT: 0x8916 (core), 0x8dda (ARB)
  • GL_GEOMETRY_INPUT_TYPE: 0x8917 (core), 0x8ddb (ARB)
  • GL_GEOMETRY_OUTPUT_TYPE: 0x8918 (core), 0x8ddc (ARB)

Khronos/major vendor discrepancy:

  • GL_DEPTH_COMPONENT32F: 0x8cac (core), 0x8dab (NV)
  • GL_DEPTH32F_STENCIL8: 0x8cad (core), 0x8dac (NV)
  • GL_UNSIGNED_INT64: 0x140f (ARB, NV), 0x8bc2 (AMD)

Other:

  • GL_TEXTURE_WIDTH: 0x1000 (core), 0x8bd2 (QCOM)
  • GL_TEXTURE_HEIGHT: 0x1001 (core), 0x8bd3 (QCOM)
  • GL_TEXTURE_INTERNAL_FORMAT: 0x1003 (core), 0x8bd5 (QCOM)
  • GL_TEXTURE_DEPTH: 0x8071 (core), 0x8bd4 (QCOM)
  • GL_RENDERBUFFER_SAMPLES: 0x8cab (core, ANGLE, APPLE, EXT, NV), 0x9133 (IMG)
  • GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8d56 (core, ANGLE, APPLE, EXT, NV), 0x9134 (IMG)
  • GL_MAX_SAMPLES: 0x8d57 (core, ANGLE, APPLE, EXT, NV), 0x9135 (IMG)
  • GL_TEXTURE_SAMPLES: 0x9106 (core), 0x9136 (IMG)
  • GL_TEXTURE_TARGET: 0x1006 (core), 0x8bda (QCOM)
  • GL_CONSERVATIVE_RASTERIZATION: 0x83fe (INTEL), 0x9346 (NV)

I think that’s not a big problem but still, needs to be sorted out somehow.

@sfan5
Copy link
Member

sfan5 commented Feb 28, 2023

Since hecks is gone and you would be the only consumer of these GL bindings you'd have to fix this yourself.
Maybe we should switch to something like glad instead?

@numberZero
Copy link
Contributor Author

numberZero commented Feb 28, 2023

you'd have to fix this yourself.

Actually I plan to work on this, gradually, in the context of #160. It may be that there is nothing to worry of as these things are in the core already in the target GL versions, I need to check for that first.

Maybe we should switch to something like glad instead?

Maybe. Not that I like GLAD specifically (due to overuse of macros, mainly) but that may be a good way nevertheless. And it’s better than GLEW IIRC.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants