Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[xml] MaterialFace group used but not defined #355

Closed
SunSerega opened this issue Jan 26, 2020 · 3 comments · Fixed by #375
Closed

[xml] MaterialFace group used but not defined #355

SunSerega opened this issue Jan 26, 2020 · 3 comments · Fixed by #375
Assignees

Comments

@SunSerega
Copy link
Contributor

        <command>
            <proto><ptype>GLuint</ptype> <name>glBindMaterialParameterEXT</name></proto>
            <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
            <param group="MaterialParameter"><ptype>GLenum</ptype> <name>value</name></param>
        </command>

(this is only one of functions using MaterialFace)

There is an actual group (which is deprecated) MaterialFace:

        <group name="MaterialFace" comment="Deprecated, use the group attributes instead.">
            <enum name="GL_BACK"/>
            <enum name="GL_FRONT"/>
            <enum name="GL_FRONT_AND_BACK"/>
        </group>

And there is ColorMaterialFace group (which is properly defined):

        <enum value="0x0404" name="GL_FRONT" group="ColorBuffer,ColorMaterialFace,CullFaceMode,DrawBufferMode,ReadBufferMode,StencilFaceDirection"/>
        <enum value="0x0405" name="GL_BACK" group="ColorBuffer,ColorMaterialFace,CullFaceMode,DrawBufferMode,ReadBufferMode,StencilFaceDirection"/>
        <enum value="0x0408" name="GL_FRONT_AND_BACK" group="ColorBuffer,ColorMaterialFace,CullFaceMode,DrawBufferMode,StencilFaceDirection"/>
@Perksey
Copy link
Contributor

Perksey commented Jan 26, 2020

Thanks for reporting this! We always welcome PRs to help improve and maintain the correctness of the new-syntax groupings. If not done by a community member, this will be included next time we have a group sprint here at Ultz.

@oddhack
Copy link
Collaborator

oddhack commented Jan 27, 2020

I'm just going to assign this and similar to @Perksey since you're stepping up to volunteer - thanks.

@oddhack oddhack added this to the Needs Action/PR milestone Jan 27, 2020
@Perksey
Copy link
Contributor

Perksey commented Jan 27, 2020

Ah no problem, I do my best to try and help out with the GL spec as I'm a prominent stakeholder for it, so I have no problem tackling issues such as these.

Perksey added a commit to Perksey/OpenGL-Registry that referenced this issue Mar 6, 2020
@Perksey Perksey mentioned this issue Mar 6, 2020
oddhack pushed a commit that referenced this issue Mar 11, 2020
* Fix #355

* Fix #356

* Fix #357

* Fix #358

* Add groups to grouped blocks, fixes #359
SunSerega added a commit to SunSerega/OpenGL-Registry that referenced this issue Jun 24, 2022
Same enums, but:
ColorMaterialFace not used at all
CullFaceMode and StencilFaceDirection are barely used anywhere

cleanup after KhronosGroup#355
oddhack pushed a commit that referenced this issue Sep 29, 2022
* FramebufferFetchNoncoherent => GetPName,EnableCap

https://github.com/KhronosGroup/OpenGL-Registry/blob/237f076633e67d7396cbed15f112e515a7d85251/extensions/QCOM/QCOM_shader_framebuffer_fetch_noncoherent.txt#L61

* DrawBufferModeATI => DrawBufferMode

Renamed in <param> but not definition
db455e3#diff-e264a54745d72adc78ba865d49dfe4a83689d6307ed6ea03133096d211dc03c6L14360

* CheckFramebufferStatusTarget => FramebufferTarget

"CheckFramebufferStatusTarget" was removed from <param>, but then re-added as new group "FramebufferTarget" with same enums

* ContainerType: add to <param>

A single use for a group of single enum value:
https://github.com/KhronosGroup/OpenGL-Registry/blob/91aa993da3cc9e7ea1eecf3075de8c03d9a15d09/extensions/ARB/ARB_shader_objects.txt#L1768

* RegisterCombinerPname =+> TextureEnvParameter

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glTexEnv.xml
Not all functions with TextureEnvParameter accept all enums from this group
But this change is mostly to show that these enums only belong to deprecated functions and can be ignored

* VertexBufferObjectParameter => X

#400
"VertexBufferObjectParameter" was removed from <param>, replaced by "BufferPNameARB"
But not from group definitions

* TextureFilterFuncSGIS => X

https://github.com/KhronosGroup/OpenGL-Registry/blob/main/extensions/SGIS/SGIS_texture_filter4.txt
GL_FILTER4_SGIS is only used in glTexParameter* and gl[Get]TexFilterFuncSGIS

* [Get]ColorTableParameterPName[SGI] => ColorTableParameterPName

These groups have same enums
And only *SGI variants were ever used

* [Get]ConvolutionParameter[EXT] => ConvolutionParameter

* GlslTypeToken => X

#401
"GlslTypeToken" wasn't removed after removing it's uses
Though "GL_UNSIGNED_INT_ATOMIC_COUNTER" is now groupless...
But I guess it can be neither attribute nor uniform, so this define is useless.

* LightEnvModeSGIX: add to <param>

* PointParameterNameSGIS =+> PointParameterNameARB,GetPName

* GetPixelMap => X

Same as PixelMap, but never used

* TransformFeedbackTokenNV: add to <param>

https://github.com/KhronosGroup/OpenGL-Registry/blob/main/extensions/ARB/ARB_transform_feedback3.txt#L693

* ColorMaterialFace,CullFaceMode,StencilFaceDirection => MaterialFace

Same enums, but:
ColorMaterialFace not used at all
CullFaceMode and StencilFaceDirection are barely used anywhere

cleanup after #355

* PixelTexGenMode =+> PixelTexGenModeSGIX

https://github.com/KhronosGroup/OpenGL-Registry/blob/91aa993da3cc9e7ea1eecf3075de8c03d9a15d09/extensions/SGIX/SGIX_pixel_texture.txt#L130-L131
https://github.com/KhronosGroup/OpenGL-Registry/blob/91aa993da3cc9e7ea1eecf3075de8c03d9a15d09/extensions/SGIX/SGIX_impact_pixel_texture.txt#L41-L47

Also see:
#519

* ReplacementCodeSUN => TriangleListSUN

ReplacementCodeSUN isn't defined
Instead TriangleListSUN is expected

Also glReplacementCodeuivSUN was missing group
But I'm not adding it to glReplacementCodeusSUN and such, because they have different enum size

* TextureParameterName: add GL_TEXTURE_MEMORY_LAYOUT_INTEL

https://github.com/KhronosGroup/OpenGL-Registry/blob/91aa993da3cc9e7ea1eecf3075de8c03d9a15d09/extensions/INTEL/INTEL_map_texture.txt#L61-L63

* CommandOpcodesNV: add to <param>

* PerformanceQueryCapsMaskINTEL: add to <param>

* TraceMaskMESA => X

This group does not exist

* VertexHintsMaskPGI: add to <param>

* MaterialFace => TriangleFace

* Re-add TraceMaskMESA

* Remove tabs and resurrected PixelTexGenMode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants