Lines Matching defs:extension

189 		self.extension	= None					# name of extension that added this enumerator
317 self.depends = depends # None when requirement apply to all implementations of extension or string with dependencies
318 # string with extension name when requirements apply to implementations that also support given extension
325 self.name = name # extension name
326 self.number = number # extension version
327 self.type = type # extension type - "device" or "instance"
330 self.promotedto = promotedto # vulkan version, other extension or None
342 self.enums = [] # list of Enum objects - each contains individual enum definition (including extension enums)
343 self.compositeTypes = [] # list of Composite objects - each contains individual structure/union definition (including extension structures)
344 self.functions = [] # list of Function objects - each contains individual command definition (including extension functions)
346 self.extensions = [] # list of Extension objects - each contains individual, supported extension definition
474 # check to which list this extension should be added
478 # read extension definition to proper list
482 # before reading extension data first read extension
495 # this extension as not fully promoted
526 # add extension definition to proper api object
778 # check if dependency extension or api version is part of this api
814 # (this happens for vulkansc as in xml enumerator might be defined in extension that is not supported by sc)
847 # remove structures and commands added by VK_EXT_directfb_surface extension
852 # remove structures and commands added by disabled VK_ANDROID_native_buffer extension;
957 # remove enums that are not part of any vulkan version nor extension
980 # helper function that check if dependency is in list of extension
994 # remove structures that are not part of any vulkan version nor extension
1018 # remove commands that are not part of any vulkan version nor extension
2115 for extension in map[version]:
2116 result.append(' dst.push_back("' + extension.name + '");')
2150 # make sure that this extension was registered
2153 # save array containing 'device' or 'instance' string followed by the optional vulkan version in which this extension is core;
2233 # only add functions with same vendor as extension
2235 # than one extension and lack of the dependency in vk.xml
2343 self.extension = None
2350 # helper extension class used in algorith below
2368 for extension in api.extensions:
2369 for requirement in extension.requirementsList:
2372 structureDetail.extension = extension.name
2373 if extension.promotedto is not None and extension.partiallyPromoted is False:
2374 # check if extension was promoted to vulkan version or other extension
2375 if 'VK_VERSION' in extension.promotedto:
2376 versionSplit = extension.promotedto.split('_')
2381 structureDetail.extension = extension.promotedto
2389 # if structure was not added with extension then check if
2420 # create flags that check if proper extension or vulkan version is available
2422 extension = structureDetail.extension
2424 if extension is not None:
2425 condition = ' checkExtension(properties, "' + extension + '")'
2602 # iterate over all extensions to find extension that adds enum value matching pattern;
2621 # this handles case where extension was promoted and with it feature/property structure
2650 # accept single feature/property structure per extension - this also handles cases
2654 # iterate over all structures to find Feature/Property structures that were not added with extension
2655 # but with vulkan version; to do that we need to skip extension part from pattern
3135 if 'extension' in mandatoryExt:
3136 extName = mandatoryExt.pop('extension')
3139 for extension, extensionData in mandatoryExtensions:
3146 extData.append((extension, requirements, mandatory_variant))
3154 stream.extend(['bool canUseFeaturesStruct (const vector<VkExtensionProperties>& deviceExtensions, uint32_t usedApiVersion, const char* extension)',
3156 '\treturn (isExtensionStructSupported(deviceExtensions, RequiredExtension(extension))',
3157 '\t\t\t|| isCoreDeviceExtension(usedApiVersion, extension));',
3185 for extension in api.extensions:
3187 for requirement in extension.requirementsList:
3190 # Found extension for the struct.
3191 usedFeatureStructs[usedStruct].append(extension.name)
3298 for extension, requirements, mandatory_variant in extData:
3317 stream.extend(['\t\tif (!(isExtensionStructSupported(deviceExtensions, RequiredExtension("' + extension + '")) || isCoreDeviceExtension(usedApiVersion, "' + extension + '")))',
3319 '\t\t\tlog << tcu::TestLog::Message << "Mandatory extension ' + extension + ' not supported" << tcu::TestLog::EndMessage;',
3337 # make sure extension name starts with VK_KHR
3340 # make sure that this extension was registered
3343 # make sure extension is intended for the vulkan variant
3361 # make sure extension has proper type
3400 # iterate over all extension that are of specified type and that have requirements
3406 # memorize extension name and dependencies for future vector generation
3408 # memorize max extension name and dependency length
3410 # generate check function for this extension
3413 # check if extension was promoted; for SC we need to check vulkan version as sc10 is based on vk12
3422 # check if extension is supported
3435 # some vk.xml entries include "promoted to" version preceded by logical OR operator in the extension "depends" attribute
3444 # when dependency is extension check if it was promoted
3452 # check if dependency was promoted to vulkan version or other extension
3461 # for SC when extension was not found try checking also not supported
3462 # extensions and see if this extension is part of core
3528 # but they don't include the extension explicit required version; continue parsing the remaining part
3572 # keys are instance extension names and value is list of device-level functions
3577 # iterate over all functions instance extension adds