Lines Matching refs:self

33     def __init__(self,
58 GeneratorOptions.__init__(self,
72 self.prefixText = prefixText
73 self.genFuncPointers = genFuncPointers
74 self.protectFile = protectFile
75 self.protectFeature = protectFeature
76 self.apicall = apicall
77 self.apientry = apientry
78 self.apientryp = apientryp
79 self.alignFuncParam = alignFuncParam
80 self.library_name = library_name
81 self.helper_file_type = helper_file_type
86 def __init__(self,
90 OutputGenerator.__init__(self, errFile, warnFile, diagFile)
92 self.enum_output = '' # string built up of enum string routines
94 self.structNames = [] # List of Vulkan struct typenames
95 self.structTypes = dict() # Map of Vulkan struct typename to required VkStructureType
96 self.structMembers = [] # List of StructMemberData records for all Vulkan structs
97 self.object_types = [] # List of all handle types
98 self.object_type_aliases = [] # Aliases to handles types (for handles that were extensions)
99 self.debug_report_object_types = [] # Handy copy of debug_report_object_type enum data
100 self.core_object_types = [] # Handy copy of core_object_type enum data
101 self.device_extension_info = dict() # Dict of device extension name defines and ifdef values
102 self.instance_extension_info = dict() # Dict of instance extension name defines and ifdef values
105 self.StructType = namedtuple('StructType', ['name', 'value'])
106 self.CommandParam = namedtuple('CommandParam', ['type', 'name', 'ispointer', 'isstaticarray', 'isconst', 'iscount', 'len', 'extstructs', 'cdecl'])
107 self.StructMemberData = namedtuple('StructMemberData', ['name', 'members', 'ifdef_protect'])
109 self.custom_construct_params = {
119 def beginFile(self, genOpts):
120 OutputGenerator.beginFile(self, genOpts)
122 self.helper_file_type = genOpts.helper_file_type
123 self.library_name = genOpts.library_name
125 write("// clang-format off", file=self.outFile)
130 write(file_comment, file=self.outFile)
160 write(copyright, file=self.outFile)
163 def endFile(self):
165 dest_file += self.OutputDestFile()
169 write(dest_file, file=self.outFile)
170 write("// clang-format on", file=self.outFile)
172 OutputGenerator.endFile(self)
175 def beginFeature(self, interface, emit):
177 OutputGenerator.beginFeature(self, interface, emit)
178 self.featureExtraProtect = GetFeatureProtect(interface)
182 name = self.featureName
189 info = { 'define': name_define, 'ifdef':self.featureExtraProtect, 'reqs':required_extensions }
191 self.instance_extension_info[name] = info
193 self.device_extension_info[name] = info
197 def endFeature(self):
199 OutputGenerator.endFeature(self)
202 def genGroup(self, groupinfo, groupName, alias):
203 OutputGenerator.genGroup(self, groupinfo, groupName, alias)
206 if self.helper_file_type == 'enum_string_header':
211 self.enum_output += self.GenerateEnumStringConversion(groupName, value_set)
212 elif self.helper_file_type == 'object_types_header':
217 self.debug_report_object_types.append(item_name)
222 self.core_object_types.append(item_name)
226 def genType(self, typeinfo, name, alias):
227 OutputGenerator.genType(self, typeinfo, name, alias)
234 self.object_type_aliases.append((name,alias))
236 self.object_types.append(name)
238 self.structNames.append(name)
239 self.genStruct(typeinfo, name, alias)
242 def genVkStructureType(self, typename):
251 def paramIsPointer(self, param):
259 def paramIsStaticArray(self, param):
267 def getTypeNameTuple(self, param):
278 def getLen(self, param):
299 def TypeContainsObjectHandle(self, handle_type, dispatchable):
304 handle = self.registry.tree.find("types/type/[name='" + handle_type + "'][@category='handle']")
308 if handle_type in self.structNames:
309 member_index = next((i for i, v in enumerate(self.structMembers) if v[0] == handle_type), None)
311 for item in self.structMembers[member_index].members:
312 handle = self.registry.tree.find("types/type/[name='" + item.type + "'][@category='handle']")
318 def genStruct(self, typeinfo, typeName, alias):
319 OutputGenerator.genStruct(self, typeinfo, typeName, alias)
324 len = self.getLen(member)
331 info = self.getTypeNameTuple(member)
334 cdecl = self.makeCParamDecl(member, 1)
344 value = self.genVkStructureType(typeName)
346 self.structTypes[typeName] = self.StructType(name=name, value=value)
348 isstaticarray = self.paramIsStaticArray(member)
349 membersInfo.append(self.CommandParam(type=type,
351 ispointer=self.paramIsPointer(member),
355 len=self.getLen(member),
356 extstructs=self.registry.validextensionstructs[typeName] if name == 'pNext' else None,
358 self.structMembers.append(self.StructMemberData(name=typeName, members=membersInfo, ifdef_protect=self.featureExtraProtect))
361 def GenerateEnumStringConversion(self, groupName, value_list):
377 def GenerateObjectTypesHelperHeader(self):
382 object_types_helper_header += self.GenerateObjectTypesHeader()
386 def GenerateObjectTypesHeader(self):
396 for item in self.object_types:
406 for (name, alias) in self.object_type_aliases:
415 for item in self.object_types:
431 dbg_map = {to_key(dbg_re, dbg) : dbg for dbg in self.debug_report_object_types}
446 vko_map = {to_key(vko_re, vko) : vko for vko in self.core_object_types}
458 for core_object_type in self.core_object_types:
461 for dr_object_type in self.debug_report_object_types:
479 for core_object_type in self.core_object_types:
482 for dr_object_type in self.debug_report_object_types:
497 def OutputDestFile(self):
498 if self.helper_file_type == 'object_types_header':
499 return self.GenerateObjectTypesHelperHeader()
501 return 'Bad Helper File Generator Option %s' % self.helper_file_type