Lines Matching refs:enum
194 self.alias = None # name of enum alias or None
195 self.type = None # enum or bitmask
342 self.enums = [] # list of Enum objects - each contains individual enum definition (including extension enums)
349 self.tempAliasesList = [] # list of aliases for enums that could not be added because enum is defined later than its alias; this is needed for SC
390 # special case for vulkan hardcoded constants that are specified as enum in vk.xml
400 # initial enum definition is read while processing types section;
401 # we need to find this enum definition and add data to it
403 # add type and bitwidth to enum definition
408 # add components to enum definition
411 if enumeratorItem.tag != "enum":
498 # check if this requirement describes enum, command or type
499 if individualRequirement.tag == "enum":
546 if requirement.tag == "enum":
550 # find extended enum in api.enums list
553 # read enumerator and add it to enum
589 if category == "enum":
651 # handle enum nodes that can be used for array dimensions
654 if node.tag == "enum":
720 # each enum is defined in separate enums node directly under root node
787 # add enumerator to proper enum from api.enums
792 # find enum in api.enums
793 matchedEnum = [enum for enum in api.enums if enumerator.extends == enum.name][0]
794 # add enumerator only when it is not already in enum
807 # this will hapen when aliased enum is added later then definition of alias
811 for enum, name, alias in self.tempAliasesList:
812 if not self.addAliasToEnumerator(enum, name, alias):
821 enum,
829 self.addAliasToEnumerator(enum, alias, name)
862 enumsToRemove = [enum for enum in self.enums if len(enum.enumeratorList) == 0]
898 for enum in self.enums:
899 if enum.name != promotedEnumerator.extends:
903 for enumerator in enum.enumeratorList:
973 for enum in self.enums:
974 if isEnumUsed(self.features, self.extensions, enum.name, enum.alias):
976 enumsToRemove.append(enum)
1064 for enum in self.enums:
1066 if len(enum.enumeratorList) < 2:
1069 enumeratorsToSort = [e for e in enum.enumeratorList if e.value != e.bitpos]
1071 remainingEnumerators = [e for e in enum.enumeratorList if e.value == e.bitpos]
1073 enum.enumeratorList = sorted(enumeratorsToSort, key=sortLambda)
1074 enum.enumeratorList.extend(remainingEnumerators)
1131 yield "enum HandleType"
1142 def getEnumValuePrefixAndPostfix (enum):
1143 prefix = enum.name[0]
1144 for i in range(1, len(enum.name)):
1145 if enum.name[i].isupper() and not enum.name[i-1].isupper():
1147 prefix += enum.name[i].upper()
1153 def genEnumSrc (enum):
1154 yield "enum %s" % enum.name
1157 for ed in enum.enumeratorList:
1160 for ed in enum.enumeratorList:
1164 # add *_LAST item when enum is linear
1165 prefix, postfix = getEnumValuePrefixAndPostfix(enum)
1166 if enum.areValuesLinear():
1192 yield f"enum {bitfield.name}"
1274 for enum in api.enums:
1277 if len(enum.enumeratorList) == 0 and api.apiName == "vulkan":
1279 if enum.type == "bitmask":
1280 if enum.bitwidth == "32":
1281 for line in genBitfieldSrc(enum):
1284 for line in genBitfield64Src(enum):
1287 for line in genEnumSrc(enum):
1289 if enum.alias is not None:
1290 yield f"typedef {enum.name} {enum.alias};"
1628 for line in indentLines(["const char*\tget%sName\t(%s value);" % (enum.name[2:], enum.name) for enum in api.enums if enum.type == "enum"]):
1631 for line in indentLines(["inline tcu::Format::Enum<%s>\tget%sStr\t(%s value)\t{ return tcu::Format::Enum<%s>(get%sName, value);\t}" % (e.name, e.name[2:], e.name, e.name, e.name[2:]) for e in api.enums if e.type == "enum"]):
1634 for line in indentLines(["inline std::ostream&\toperator<<\t(std::ostream& s, %s value)\t{ return s << get%sStr(value);\t}" % (e.name, e.name[2:]) for e in api.enums if e.type == "enum"]):
1660 for enum in api.enums:
1661 if enum.type == "enum":
1663 yield "const char* get%sName (%s value)" % (enum.name[2:], enum.name)
1669 for e in enum.enumeratorList:
1676 elif enum.type == "bitmask":
1680 if bitmask.requires == enum.name or bitmask.bitvalues == enum.name:
1692 if len(enum.enumeratorList) == 0:
1696 for line in indentLines([f"\t\ttcu::Format::BitDesc({e.name},\t\"{e.name}\")," for e in enum.enumeratorList]):
2096 driverIdEnum = [enum for enum in api.enums if enum.name == 'VkDriverId'][0]
2281 'enum FunctionOrigin', '{'] + [line for line in indentLines([
2602 # iterate over all extensions to find extension that adds enum value matching pattern;