| 19 | BaseGenerator.__init__(self) |
| 20 | |
| 21 | def generate(self): |
| 22 | print(f'VulkanObject generated for {self.targetApiName}') |
| 23 | |
| 24 | version = self.vk.headerVersionComplete.split('.') |
| 25 | assert len(version) == 3 |
| 26 | # These asserts are just here until we have a more robust way to get these values |
| 27 | if self.targetApiName == 'vulkan': |
| 28 | assert version[0] == '1' |
| 29 | assert version[1] == '4' |
| 30 | elif self.targetApiName == 'vulkansc': |
| 31 | assert version[0] == '1' |
| 32 | assert version[1] == '0' |
| 33 | |
| 34 | # isinstance() will make sure we are reporting valid types exposed in the |
| 35 | # VulkanObject interface for each . |
| 36 | # Note - it will not recursively inspect each member class |
| 37 | assert isinstance(self.vk.headerVersion, str) |
| 38 | for handle in self.vk.handles.values(): |
| 39 | assert isinstance(handle, Handle) |
| 40 | for command in self.vk.commands.values(): |
| 41 | assert isinstance(command, Command) |
| 42 | for param in command.params: |
| 43 | assert isinstance(param, Param) |
| 44 | for extension in command.extensions: |
| 45 | assert isinstance(extension, str) |
| 46 | for task in command.tasks: |
| 47 | assert isinstance(task, str) |
| 48 | for code in command.successCodes: |
| 49 | assert isinstance(code, str) |
| 50 | for code in command.errorCodes: |
| 51 | assert isinstance(code, str) |
| 52 | for struct in self.vk.structs.values(): |
| 53 | assert isinstance(struct, Struct) |
| 54 | for member in struct.members: |
| 55 | assert isinstance(member, Member) |
| 56 | for extension in struct.extensions: |
| 57 | assert isinstance(extension, str) |
| 58 | for alias in struct.aliases: |
| 59 | assert isinstance(alias, str) |
| 60 | for e in struct.extends: |
| 61 | assert isinstance(e, str) |
| 62 | for e in struct.extendedBy: |
| 63 | assert isinstance(e, str) |
| 64 | for enum in self.vk.enums.values(): |
| 65 | assert isinstance(enum, Enum) |
| 66 | for alias in enum.aliases: |
| 67 | assert isinstance(alias, str) |
| 68 | for e in enum.extensions: |
| 69 | assert isinstance(e, str) |
| 70 | for e in enum.fieldExtensions: |
| 71 | assert isinstance(e, str) |
| 72 | for field in enum.fields: |
| 73 | assert isinstance(field, EnumField) |
| 74 | for alias in field.aliases: |
| 75 | assert isinstance(alias, str) |
| 76 | for e in field.extensions: |
| 77 | assert isinstance(e, str) |
| 78 | for bitmask in self.vk.bitmasks.values(): |