Skip to content

Commit 314ee88

Browse files
spencer-lunargmikes-lunarg
authored andcommitted
scripts: Fix for 316 vulkanObject
1 parent c913466 commit 314ee88

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

scripts/generators/loader_extension_generator.py

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@ def DescribeBlock(self, command, current_block, out, custom_commands_string = '
234234
return command.version
235235
else:
236236
# don't repeat unless the first extension is different (while rest can vary)
237-
if not isinstance(current_block, list) or current_block[0].name != command.extensions[0].name:
238-
out.append(f"\n{indent}// ---- {command.extensions[0].name if len(command.extensions) > 0 else ''} extension{custom_commands_string}\n")
237+
if not isinstance(current_block, list) or current_block[0] != command.extensions[0]:
238+
out.append(f"\n{indent}// ---- {command.extensions[0] if len(command.extensions) > 0 else ''} extension{custom_commands_string}\n")
239239
return command.extensions
240240
else:
241241
return current_block
@@ -597,7 +597,7 @@ def OutputLoaderDispatchTables(self, out):
597597
if x == 1:
598598
if base_name == 'GetDeviceProcAddr':
599599
out.append(' table->GetDeviceProcAddr = gdpa;\n')
600-
elif len(command.extensions) > 0 and command.extensions[0].instance:
600+
elif len(command.extensions) > 0 and self.vk.extensions[command.extensions[0]].instance:
601601
out.append(f' table->{base_name} = (PFN_{command.name})gipa(inst, "{command.name}");\n')
602602
else:
603603
out.append(f' table->{base_name} = (PFN_{command.name})gdpa(dev, "{command.name}");\n')
@@ -631,10 +631,10 @@ def InitDeviceFunctionTerminatorDispatchTable(self, out):
631631
if command.name == 'vkGetDeviceGroupSurfacePresentModes2EXT': # command.extensions[0].depends in [x for x in self.vk.commands.values() if x.device]:
632632
# Hardcode the dependency expression as vulkan_object.py doesn't expose this information
633633
dep_expr = self.ConvertDependencyExpression('VK_KHR_device_group,VK_VERSION_1_1', lambda ext_name: f'dev->driver_extensions.{ext_name[3:].lower()}_enabled')
634-
out.append(f' if (dev->driver_extensions.{command.extensions[0].name[3:].lower()}_enabled && ({dep_expr}))\n')
634+
out.append(f' if (dev->driver_extensions.{command.extensions[0][3:].lower()}_enabled && ({dep_expr}))\n')
635635
out.append(f' dispatch->{command.name[2:]} = (PFN_{(command.name)})gpda(dev->icd_device, "{(command.name)}");\n')
636636
else:
637-
out.append(f' if (dev->driver_extensions.{command.extensions[0].name[3:].lower()}_enabled)\n')
637+
out.append(f' if (dev->driver_extensions.{command.extensions[0][3:].lower()}_enabled)\n')
638638
out.append(f' dispatch->{command.name[2:]} = (PFN_{(command.name)})gpda(dev->icd_device, "{(command.name)}");\n')
639639

640640
if command.protect is not None:
@@ -730,9 +730,9 @@ def OutputLoaderLookupFunc(self, out):
730730
out.append(f' if (!strcmp(name, "{base_name}")) ')
731731
if command.name in DEVICE_CMDS_MUST_USE_TRAMP:
732732
if version_check != '':
733-
out.append(f'{{\n{version_check} return dev->layer_extensions.{command.extensions[0].name[3:].lower()}_enabled ? (void *){base_name} : NULL;\n }}\n')
733+
out.append(f'{{\n{version_check} return dev->layer_extensions.{command.extensions[0][3:].lower()}_enabled ? (void *){base_name} : NULL;\n }}\n')
734734
else:
735-
out.append(f'return dev->layer_extensions.{command.extensions[0].name[3:].lower()}_enabled ? (void *){base_name} : NULL;\n')
735+
out.append(f'return dev->layer_extensions.{command.extensions[0][3:].lower()}_enabled ? (void *){base_name} : NULL;\n')
736736

737737
else:
738738
if version_check != '':
@@ -782,8 +782,8 @@ def CreateTrampTermFuncs(self, out):
782782

783783
current_block = ''
784784
for command in [x for x in self.vk.commands.values() if x.extensions]:
785-
if (command.extensions[0].name in WSI_EXT_NAMES or
786-
command.extensions[0].name in AVOID_EXT_NAMES or
785+
if (command.extensions[0] in WSI_EXT_NAMES or
786+
command.extensions[0] in AVOID_EXT_NAMES or
787787
command.name in AVOID_CMD_NAMES or
788788
command.name in manual_ext_commands):
789789
continue
@@ -932,7 +932,7 @@ def CreateTrampTermFuncs(self, out):
932932
out.append(' local_tag_info.objectHandle = (uint64_t)(uintptr_t)instance->instance;\n')
933933
out.append(' }\n')
934934

935-
if command.extensions[0].name in NULL_CHECK_EXT_NAMES:
935+
if command.extensions[0] in NULL_CHECK_EXT_NAMES:
936936
out.append(' if (disp->' + base_name + ' != NULL) {\n')
937937
out.append(' ')
938938
out.append(return_prefix)
@@ -957,7 +957,7 @@ def CreateTrampTermFuncs(self, out):
957957

958958
count += 1
959959
out.append(');\n')
960-
if command.extensions[0].name in NULL_CHECK_EXT_NAMES:
960+
if command.extensions[0] in NULL_CHECK_EXT_NAMES:
961961
if command.returnType != 'void':
962962
out.append(' } else {\n')
963963
out.append(' return VK_SUCCESS;\n')
@@ -971,15 +971,15 @@ def CreateTrampTermFuncs(self, out):
971971
out.append(' if (NULL == icd_term->dispatch.')
972972
out.append(base_name)
973973
out.append(') {\n')
974-
fatal_error_bit = '' if has_return_type and (len(command.extensions) == 0 or command.extensions[0].instance) else 'VULKAN_LOADER_FATAL_ERROR_BIT | '
974+
fatal_error_bit = '' if has_return_type and (len(command.extensions) == 0 or self.vk.extensions[command.extensions[0]].instance) else 'VULKAN_LOADER_FATAL_ERROR_BIT | '
975975
out.append(f' loader_log(icd_term->this_instance, {fatal_error_bit}VULKAN_LOADER_ERROR_BIT, 0,\n')
976976
out.append(' "ICD associated with VkPhysicalDevice does not support ')
977977
out.append(base_name)
978978
out.append('");\n')
979979

980980
# If this is an instance function taking a physical device (i.e. pre Vulkan 1.1), we need to behave and not crash so return an
981981
# error here.
982-
if has_return_type and (len(command.extensions) == 0 or command.extensions[0].instance):
982+
if has_return_type and (len(command.extensions) == 0 or self.vk.extensions[command.extensions[0]].instance):
983983
out.append(' return VK_ERROR_EXTENSION_NOT_PRESENT;\n')
984984
else:
985985
out.append(' abort(); /* Intentionally fail so user can correct issue. */\n')
@@ -1045,10 +1045,10 @@ def CreateTrampTermFuncs(self, out):
10451045
out.append(' abort(); /* Intentionally fail so user can correct issue. */\n')
10461046
out.append(' }\n')
10471047
out.append('#error("Not implemented. Likely needs to be manually generated!");\n')
1048-
elif command.extensions[0].name in ['VK_EXT_debug_utils', 'VK_EXT_debug_marker']:
1048+
elif command.extensions[0] in ['VK_EXT_debug_utils', 'VK_EXT_debug_marker']:
10491049
if command.name in ['vkDebugMarkerSetObjectNameEXT', 'vkDebugMarkerSetObjectTagEXT', 'vkSetDebugUtilsObjectNameEXT' , 'vkSetDebugUtilsObjectTagEXT']:
10501050

1051-
is_debug_utils = command.extensions[0].name == "VK_EXT_debug_utils"
1051+
is_debug_utils = command.extensions[0] == "VK_EXT_debug_utils"
10521052
debug_struct_name = command.params[1].name
10531053
local_struct = 'local_name_info' if 'ObjectName' in command.name else 'local_tag_info'
10541054
member_name = 'objectHandle' if is_debug_utils else 'object'
@@ -1086,7 +1086,7 @@ def CreateTrampTermFuncs(self, out):
10861086
else:
10871087
out.append(f' struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch({command.params[0].name});\n')
10881088
out.append(' if (NULL == dispatch_table) {\n')
1089-
out.append(f' loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "{command.extensions[0].name}: Invalid device handle");\n')
1089+
out.append(f' loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "{command.extensions[0]}: Invalid device handle");\n')
10901090
out.append(' abort(); /* Intentionally fail so user can correct issue. */\n')
10911091
out.append(' }\n')
10921092
out.append(' // Only call down if the device supports the function\n')
@@ -1132,7 +1132,7 @@ def CreateTrampTermFuncs(self, out):
11321132
out.append(' abort(); /* Intentionally fail so user can correct issue. */\n')
11331133
out.append(' }\n')
11341134

1135-
if command.extensions[0].name in NULL_CHECK_EXT_NAMES:
1135+
if command.extensions[0] in NULL_CHECK_EXT_NAMES:
11361136
out.append(' if (disp->' + base_name + ' != NULL) {\n')
11371137
out.append(' ')
11381138
out.append(return_prefix)
@@ -1146,7 +1146,7 @@ def CreateTrampTermFuncs(self, out):
11461146
out.append(param.name)
11471147
count += 1
11481148
out.append(');\n')
1149-
if command.extensions[0].name in NULL_CHECK_EXT_NAMES:
1149+
if command.extensions[0] in NULL_CHECK_EXT_NAMES:
11501150
if command.returnType != 'void':
11511151
out.append(' } else {\n')
11521152
out.append(' return VK_SUCCESS;\n')
@@ -1169,25 +1169,25 @@ def InstExtensionGPA(self, out):
11691169

11701170
for command in [x for x in self.vk.commands.values() if x.extensions]:
11711171
if (command.version or
1172-
command.extensions[0].name in WSI_EXT_NAMES or
1173-
command.extensions[0].name in AVOID_EXT_NAMES or
1172+
command.extensions[0] in WSI_EXT_NAMES or
1173+
command.extensions[0] in AVOID_EXT_NAMES or
11741174
command.name in AVOID_CMD_NAMES ):
11751175
continue
11761176

1177-
if command.extensions[0].name != cur_extension_name:
1178-
out.append( f'\n // ---- {command.extensions[0].name} extension commands\n')
1179-
cur_extension_name = command.extensions[0].name
1177+
if command.extensions[0] != cur_extension_name:
1178+
out.append( f'\n // ---- {command.extensions[0]} extension commands\n')
1179+
cur_extension_name = command.extensions[0]
11801180

11811181
if command.protect is not None:
11821182
out.append( f'#if defined({command.protect})\n')
11831183

11841184
#base_name = command.name[2:]
11851185
base_name = SHARED_ALIASES[command.name] if command.name in SHARED_ALIASES else command.name[2:]
11861186

1187-
if len(command.extensions) > 0 and command.extensions[0].instance:
1187+
if len(command.extensions) > 0 and self.vk.extensions[command.extensions[0]].instance:
11881188
out.append( f' if (!strcmp("{command.name}", name)) {{\n')
11891189
out.append( ' *addr = (ptr_instance->enabled_extensions.')
1190-
out.append( command.extensions[0].name[3:].lower())
1190+
out.append( command.extensions[0][3:].lower())
11911191
out.append( ' == 1)\n')
11921192
out.append( f' ? (void *){base_name}\n')
11931193
out.append( ' : NULL;\n')
@@ -1260,18 +1260,18 @@ def DeviceExtensionGetTerminator(self, out):
12601260
last_protect = command.protect
12611261
if command.protect is not None:
12621262
out.append(f'#if defined({command.protect})\n')
1263-
if last_ext != command.extensions[0].name:
1264-
out.append(f' // ---- {command.extensions[0].name} extension commands\n')
1265-
last_ext = command.extensions[0].name
1263+
if last_ext != command.extensions[0]:
1264+
out.append(f' // ---- {command.extensions[0]} extension commands\n')
1265+
last_ext = command.extensions[0]
12661266

12671267
out.append(f' if (!strcmp(name, "{command.name[2:]}")) {{\n')
12681268
out.append(' *found_name = true;\n')
12691269
if command.name == 'vkGetDeviceGroupSurfacePresentModes2EXT': # command.extensions[0].depends in [x for x in self.vk.commands.values() if x.device]:
12701270
# Hardcode the dependency expression as vulkan_object.py doesn't expose this information
12711271
dep_expr = self.ConvertDependencyExpression('VK_KHR_device_group,VK_VERSION_1_1', lambda ext_name: f'dev->driver_extensions.{ext_name[3:].lower()}_enabled')
1272-
out.append(f' return (dev->driver_extensions.{command.extensions[0].name[3:].lower()}_enabled && ({dep_expr})) ?\n')
1272+
out.append(f' return (dev->driver_extensions.{command.extensions[0][3:].lower()}_enabled && ({dep_expr})) ?\n')
12731273
else:
1274-
out.append(f' return dev->driver_extensions.{command.extensions[0].name[3:].lower()}_enabled ?\n')
1274+
out.append(f' return dev->driver_extensions.{command.extensions[0][3:].lower()}_enabled ?\n')
12751275
out.append(f' (PFN_vkVoidFunction)terminator_{(command.name[2:])} : NULL;\n')
12761276
out.append(' }\n')
12771277

0 commit comments

Comments
 (0)