Lines Matching defs:api
287 def __init__ (self, api, name, number, requirementsList):
288 self.api = api
526 # add extension definition to proper api object
550 # find extended enum in api.enums list
579 featureNode.get("api"),
747 # Verify that promotedto extensions are supported by the api
755 # temporary workaround for extensions that are marked only for vulkan api in xml while
769 # add new enumerators that were added by extensions to api.enums
770 # we have to do it at the end for SC becouse some enums are dependednt from extensions/api versions
778 # check if dependency extension or api version is part of this api
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]
837 extObjectList = [e for e in api.extensions if e.name == extName]
839 api.extensions.remove(extObjectList[0])
840 structObjectList = [ct for ct in api.compositeTypes if ct.name in structureNameList]
842 api.compositeTypes.remove(s)
843 commandObjectList = [f for f in api.functions if f.name in commandNameList]
845 api.functions.remove(f)
868 barycentricFeaturesStruct = [c for c in api.compositeTypes if c.name == 'VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR'][0]
875 scFeatures = [f for f in self.features if f.api == "vulkansc"][0]
1116 def writeHandleType (api, filename):
1122 yield "\t%s\t= 0," % getHandleName(api.handles[0].name)
1123 for h in api.handles[1:]:
1125 for h in api.handles:
1128 yield "\tHANDLE_TYPE_LAST\t= %s + 1" % (getHandleName(api.handles[-1].name))
1230 major, minor = api.features[-1].number.split('.')
1262 def writeBasicTypes (api, filename):
1266 for line in genDefinesSrc("SC" if api.apiName == "vulkansc" else "", api.defines):
1270 for line in genHandlesSrc(api.handles):
1274 for enum in api.enums:
1277 if len(enum.enumeratorList) == 0 and api.apiName == "vulkan":
1293 for bitmask in api.bitmasks:
1294 plainType = api.basetypes[bitmask.type]
1304 for ext in api.extensions:
1312 def writeCompositeTypes (api, filename):
1339 allStructureNamesList = [s.name for s in api.compositeTypes]
1340 commonTypesList = api.basicCTypes + ['VkStructureType']
1361 for ct in api.compositeTypes:
1390 for ct in api.compositeTypes:
1418 def writeInterfaceDecl (api, filename, functionTypes, concrete):
1421 for function in api.functions:
1428 def writeFunctionPtrTypes (api, filename):
1431 for function in api.functions:
1439 def writeFunctionPointers (api, filename, functionTypes):
1441 for function in api.functions:
1454 def getPromotedFunctions (api):
1455 apiNum = 0 if api.apiName == "vulkan" else 1
1457 for feature in api.features:
1467 def writeInitFunctionPointers (api, filename, functionTypes, cond = None):
1468 promotedFunctions = getPromotedFunctions(api) if Function.TYPE_DEVICE in functionTypes else None
1470 for function in api.functions:
1496 def writeFuncPtrInterfaceImpl (api, filename, functionTypes, className):
1498 for function in api.functions:
1522 def writeFuncPtrInterfaceSCImpl (api, filename, functionTypes, className):
1600 for function in api.functions:
1626 def writeStrUtilProto (api, filename):
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"]):
1637 for line in indentLines(["tcu::Format::Bitfield<%s>\tget%sStr\t(%s value);" % (("64" if b.type == "VkFlags64" else "32"), b.name[2:], b.name) for b in api.bitmasks]):
1640 for line in indentLines(["std::ostream&\toperator<<\t(std::ostream& s, const %s& value);" % (s.name) for s in api.compositeTypes]):
1645 def writeStrUtilImpl (api, filename):
1647 for line in indentLines(["template<> const char*\tgetTypeName<%s>\t(void) { return \"%s\";\t}" % (handle.name, handle.name) for handle in api.handles]):
1660 for enum in api.enums:
1679 for bitmask in api.bitmasks:
1702 for bitmask in api.bitmasks:
1711 bitfieldTypeNames = set([bitmask.name for bitmask in api.bitmasks])
1713 for type in api.compositeTypes:
1763 def writeObjTypeImpl (api, filename):
1771 for line in indentLines(["template<> inline VkObjectType\tgetObjectType<%s>\t(void) { return %s;\t}" % (handle.name, prefixName("VK_OBJECT_TYPE_", handle.name)) for handle in api.handles]):
1786 def getConstructorFunctions (api):
1794 for function in api.functions:
1818 def writeRefUtilProto (api, filename):
1819 functions = getConstructorFunctions(api)
1828 def writeRefUtilImpl (api, filename):
1829 functions = getConstructorFunctions(api)
1836 for function in api.functions:
1875 def writeStructTraitsImpl (api, filename):
1877 for cType in api.compositeTypes:
1887 def writeNullDriverImpl (api, filename):
1928 specialFuncs = [f for f in api.functions if f.name in specialFuncNames]
1929 createFuncs = [f for f in api.functions if (f.name[:8] == "vkCreate" or f.name == "vkAllocateMemory") and not f in specialFuncs]
1930 destroyFuncs = [f for f in api.functions if (f.name[:9] == "vkDestroy" or f.name == "vkFreeMemory") and not f in specialFuncs]
1931 dummyFuncs = [f for f in api.functions if f not in specialFuncs + createFuncs + destroyFuncs]
1934 for handle in api.handles:
1987 for f in api.functions:
2012 def writeTypeUtil (api, filename):
2058 match = [c for c in api.compositeTypes if member.type == c.name]
2070 for type in api.compositeTypes:
2087 def writeDriverIds(api, filename):
2096 driverIdEnum = [enum for enum in api.enums if enum.name == 'VkDriverId'][0]
2108 def writeSupportedExtensions(api, filename):
2124 isSC = api.apiName == 'vulkansc'
2128 for ext in api.extensions:
2149 for extensionName, data in api.additionalExtensionData:
2185 def writeExtensionFunctions (api, filename):
2188 instanceExtensionNames = [f"\t\"{ext.name}\"," for ext in api.extensions if ext.type == "instance"]
2189 deviceExtensionNames = [f"\t\"{ext.name}\"," for ext in api.extensions if ext.type == "device"]
2208 for ext in api.extensions:
2215 funcList = [f for f in api.functions if f.name == commandName]
2218 for f in api.functions:
2228 if api.apiName == "vulkansc":
2269 def writeCoreFunctionalities(api, filename):
2273 for feature in api.features:
2300 # iterate over names of functions added with api
2304 for f in api.functions:
2309 if api.apiName == "vulkansc":
2315 # functions for every api version should also include all functions from previous versions
2317 # indent all functions of specified api and add them to main list
2328 def writeDeviceFeatures2(api, filename):
2331 for c in api.compositeTypes:
2344 self.api = None
2355 structures = [c for c in api.compositeTypes if c.structextends is not None and 'VkPhysicalDeviceFeatures2' in c.structextends]
2368 for extension in api.extensions:
2377 structureDetail.api = 0 if api.apiName == "vulkan" else 1
2392 for feature in api.features:
2395 if api.apiName == "vulkansc" and int(feature.number[-1]) > 2:
2399 structureDetail.api = 0 if api.apiName == "vulkan" else 1
2405 # remove structures that should not be tested for given api version
2428 condition += 'context.contextSupports(vk::ApiVersion(' + str(structureDetail.api) + ', ' + str(major) + ', ' + str(structureDetail.minor) + ', 0))'
2494 allApiVersions = [f.number for f in api.features]
2496 if api.apiName == "vulkan":
2497 for feature in api.features:
2592 def generateDeviceFeaturesOrPropertiesDefs(api, FeaturesOrProperties):
2604 for ext in api.extensions:
2623 for ct in api.compositeTypes:
2656 for ct in api.compositeTypes:
2668 def writeDeviceFeatures(api, dfDefs, filename):
2674 for structureType in api.compositeTypes:
2686 for structureType in api.compositeTypes:
2788 def writeDeviceFeatureTest(api, filename):
2795 for structureType in api.compositeTypes:
2847 additionalParams = ( 'memReservationStatMax, isSubProcess' if api.apiName == 'vulkansc' else 'isSubProcess' )
2865 def writeDeviceProperties(api, dpDefs, filename):
2871 for structureType in api.compositeTypes:
2883 for structureType in api.compositeTypes:
3078 def writeMandatoryFeatures(api, filename):
3081 for c in api.compositeTypes:
3094 for _, data in api.additionalExtensionData:
3181 for compType in api.compositeTypes:
3185 for extension in api.extensions:
3222 elif api.apiName == "vulkan" and structName in dictStructs:
3334 def writeExtensionList(api, filename, extensionType):
3336 for extensionName, data in api.additionalExtensionData:
3346 if api.apiName != 'vulkansc':
3373 def writeApiExtensionDependencyInfo(api, filename):
3382 yield '\t// return true when tested api version is greater'
3401 for ext in api.extensions:
3446 for dExt in api.extensions:
3463 if extNotFound and api.apiName == "vulkansc":
3464 for dExt in api.notSupportedExtensions:
3491 for f in reversed(api.features):
3492 apiVariant = '0' if f.api == 'vulkan' else '1'
3537 for ext in api.extensions:
3548 for de in api.extensions:
3571 def writeEntryPointValidation(api, filename):
3575 for ext in api.extensions:
3581 for command in api.functions:
3597 def writeGetDeviceProcAddr(api, filename):
3671 for ext in api.extensions:
3687 stream.extend(functions(api))
3751 "--api",
3752 dest="api",
3766 outputPath = DEFAULT_OUTPUT_DIR[args.api] if args.outdir == '' else args.outdir
3769 apiName = "vulkansc" if args.api == 'SC' else "vulkan"
3773 api = API(apiName)
3774 api.build(vkTree)
3775 api.postProcess()
3778 if args.api != 'SC':
3779 api.build( etree.parse(os.path.join(VULKAN_XML_DIR, "video.xml")) )
3785 dfd = generateDeviceFeaturesOrPropertiesDefs(api, 'Features')
3786 writeDeviceFeatures (api, dfd, os.path.join(outputPath, "vkDeviceFeatures.inl"))
3790 writeDeviceFeatureTest (api, os.path.join(outputPath, "vkDeviceFeatureTest.inl"))
3792 dpd = generateDeviceFeaturesOrPropertiesDefs(api, 'Properties')
3793 writeDeviceProperties (api, dpd, os.path.join(outputPath, "vkDeviceProperties.inl"))
3798 writeHandleType (api, os.path.join(outputPath, "vkHandleType.inl"))
3799 writeBasicTypes (api, os.path.join(outputPath, "vkBasicTypes.inl"))
3800 writeCompositeTypes (api, os.path.join(outputPath, "vkStructTypes.inl"))
3801 writeInterfaceDecl (api, os.path.join(outputPath, "vkVirtualPlatformInterface.inl"), platformFuncs, False)
3802 writeInterfaceDecl (api, os.path.join(outputPath, "vkVirtualInstanceInterface.inl"), instanceFuncs, False)
3803 writeInterfaceDecl (api, os.path.join(outputPath, "vkVirtualDeviceInterface.inl"), deviceFuncs, False)
3804 writeInterfaceDecl (api, os.path.join(outputPath, "vkConcretePlatformInterface.inl"), platformFuncs, True)
3805 writeInterfaceDecl (api, os.path.join(outputPath, "vkConcreteInstanceInterface.inl"), instanceFuncs, True)
3806 writeInterfaceDecl (api, os.path.join(outputPath, "vkConcreteDeviceInterface.inl"), deviceFuncs, True)
3807 writeFunctionPtrTypes (api, os.path.join(outputPath, "vkFunctionPointerTypes.inl"))
3808 writeFunctionPointers (api, os.path.join(outputPath, "vkPlatformFunctionPointers.inl"), platformFuncs)
3809 writeFunctionPointers (api, os.path.join(outputPath, "vkInstanceFunctionPointers.inl"), instanceFuncs)
3810 writeFunctionPointers (api, os.path.join(outputPath, "vkDeviceFunctionPointers.inl"), deviceFuncs)
3811 writeInitFunctionPointers (api, os.path.join(outputPath, "vkInitPlatformFunctionPointers.inl"), platformFuncs, lambda f: f.name != "vkGetInstanceProcAddr")
3812 writeInitFunctionPointers (api, os.path.join(outputPath, "vkInitInstanceFunctionPointers.inl"), instanceFuncs)
3813 writeInitFunctionPointers (api, os.path.join(outputPath, "vkInitDeviceFunctionPointers.inl"), deviceFuncs)
3814 writeFuncPtrInterfaceImpl (api, os.path.join(outputPath, "vkPlatformDriverImpl.inl"), platformFuncs, "PlatformDriver")
3815 writeFuncPtrInterfaceImpl (api, os.path.join(outputPath, "vkInstanceDriverImpl.inl"), instanceFuncs, "InstanceDriver")
3816 writeFuncPtrInterfaceImpl (api, os.path.join(outputPath, "vkDeviceDriverImpl.inl"), deviceFuncs, "DeviceDriver")
3817 if args.api=='SC':
3818 writeFuncPtrInterfaceSCImpl (api, os.path.join(outputPath, "vkDeviceDriverSCImpl.inl"), deviceFuncs, "DeviceDriverSC")
3819 writeStrUtilProto (api, os.path.join(outputPath, "vkStrUtil.inl"))
3820 writeStrUtilImpl (api, os.path.join(outputPath, "vkStrUtilImpl.inl"))
3821 writeRefUtilProto (api, os.path.join(outputPath, "vkRefUtil.inl"))
3822 writeRefUtilImpl (api, os.path.join(outputPath, "vkRefUtilImpl.inl"))
3823 writeStructTraitsImpl (api, os.path.join(outputPath, "vkGetStructureTypeImpl.inl"))
3824 writeNullDriverImpl (api, os.path.join(outputPath, "vkNullDriverImpl.inl"))
3825 writeTypeUtil (api, os.path.join(outputPath, "vkTypeUtil.inl"))
3826 writeSupportedExtensions (api, os.path.join(outputPath, "vkSupportedExtensions.inl"))
3827 writeCoreFunctionalities (api, os.path.join(outputPath, "vkCoreFunctionalities.inl"))
3828 writeExtensionFunctions (api, os.path.join(outputPath, "vkExtensionFunctions.inl"))
3829 writeDeviceFeatures2 (api, os.path.join(outputPath, "vkDeviceFeatures2.inl"))
3830 writeMandatoryFeatures (api, os.path.join(outputPath, "vkMandatoryFeatures.inl"))
3831 writeExtensionList (api, os.path.join(outputPath, "vkInstanceExtensions.inl"), 'instance')
3832 writeExtensionList (api, os.path.join(outputPath, "vkDeviceExtensions.inl"), 'device')
3833 writeDriverIds (api, os.path.join(outputPath, "vkKnownDriverIds.inl"))
3834 writeObjTypeImpl (api, os.path.join(outputPath, "vkObjTypeImpl.inl"))
3835 writeApiExtensionDependencyInfo (api, os.path.join(outputPath, "vkApiExtensionDependencyInfo.inl"))
3836 writeEntryPointValidation (api, os.path.join(outputPath, "vkEntryPointValidation.inl"))
3837 writeGetDeviceProcAddr (api, os.path.join(outputPath, "vkGetDeviceProcAddr.inl"))