@@ -961,10 +961,13 @@ def genGroup(self, groupinfo, groupName, alias):
961961 protect = elem .get ('protect' )
962962 (valueInt , valueStr ) = self .enumToValue (elem , True , bitwidth )
963963
964+ parent = elem .get ('extends' ) or groupName
965+ extending = elem .get ('extends' ) is not None
966+
964967 # Some values have multiple extensions (ex VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR)
965968 # genGroup() lists them twice
966969 if next ((x for x in fields if x .name == fieldName ), None ) is None :
967- self .enumFieldMap [fieldName ] = EnumField (fieldName , [], protect , negative , valueInt , valueStr , [])
970+ self .enumFieldMap [fieldName ] = EnumField (fieldName , [], parent , protect , negative , valueInt , valueStr , [], extending )
968971 fields .append (self .enumFieldMap [fieldName ])
969972
970973 self .vk .enums [groupName ] = Enum (groupName , [], groupProtect , bitwidth , True , fields , [], [])
@@ -1001,11 +1004,13 @@ def genGroup(self, groupinfo, groupName, alias):
10011004
10021005 bitpos_val = elem .get ('bitpos' )
10031006 bitpos_int = int (bitpos_val ) if bitpos_val else None
1007+ parent = elem .get ('extends' ) or groupName
1008+ extending = elem .get ('extends' ) is not None
10041009
10051010 # Some values have multiple extensions (ex VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT)
10061011 # genGroup() lists them twice
10071012 if next ((x for x in fields if x .name == flagName ), None ) is None :
1008- self .flagMap [flagName ] = Flag (flagName , [], protect , valueInt , valueStr , bitpos_int , flagMultiBit , flagZero , [])
1013+ self .flagMap [flagName ] = Flag (flagName , [], parent , protect , valueInt , valueStr , bitpos_int , flagMultiBit , flagZero , [], extending )
10091014 fields .append (self .flagMap [flagName ])
10101015
10111016 flagName = groupName .replace ('FlagBits' , 'Flags' )
0 commit comments