Class EXTToolingInfo
Outdated versions of one tool might not play nicely with another, or perhaps a tool is not actually running when it should have been. Trying to figure that out can cause headaches as it is necessary to consult each known tool to figure out what is going on — in some cases the tool might not even be known.
Typically, the expectation is that developers will simply print out this information for visual inspection when an issue occurs, however a small amount of semantic information about what the tool is doing is provided to help identify it programmatically. For example, if the advertised limits or features of an implementation are unexpected, is there a tool active which modifies these limits? Or if an application is providing debug markers, but the implementation is not actually doing anything with that information, this can quickly point that out.
Promotion to Vulkan 1.3
Vulkan APIs in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. External interactions defined by this extension, such as SPIR-V token names, retain their original names. The original Vulkan API names are still available as aliases of the core functionality.
Examples
uint32_t num_tools;
VkPhysicalDeviceToolPropertiesEXT *pToolProperties;
vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, &num_tools, NULL);
pToolProperties = (VkPhysicalDeviceToolPropertiesEXT*)malloc(sizeof(VkPhysicalDeviceToolPropertiesEXT) * num_tools);
vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, &num_tools, pToolProperties);
for (int i = 0; i < num_tools; ++i) {
printf("%s:\n", pToolProperties[i].name);
printf("Version:\n");
printf("%s:\n", pToolProperties[i].version);
printf("Description:\n");
printf("\t%s\n", pToolProperties[i].description);
printf("Purposes:\n");
printf("\t%s\n", VkToolPurposeFlagBitsEXT_to_string(pToolProperties[i].purposes));
if (strnlen_s(pToolProperties[i].layer,VK_MAX_EXTENSION_NAME_SIZE) > 0) {
printf("Corresponding Layer:\n");
printf("\t%s\n", pToolProperties[i].layer);
}
}
- Name String
VK_EXT_tooling_info- Extension Type
- Device extension
- Registered Extension Number
- 246
- Revision
- 1
- API Interactions
- Interacts with VK_EXT_debug_marker
- Interacts with VK_EXT_debug_report
- Interacts with VK_EXT_debug_utils
- Deprecation State
- Promoted to Vulkan 1.3
- Contact
- Tobias Hector tobski
Other Extension Metadata
- Last Modified Date
- 2018-11-05
- Contributors
- Rolando Caloca
- Matthaeus Chajdas
- Baldur Karlsson
- Daniel Rakos
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType.static final intExtendsVkToolPurposeFlagBits.static final intExtendsVkToolPurposeFlagBits.static final intExtendsVkToolPurposeFlagBits.static final intExtendsVkToolPurposeFlagBits.static final intExtendsVkToolPurposeFlagBits.static final intExtendsVkToolPurposeFlagBits.static final intExtendsVkToolPurposeFlagBits. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnvkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pToolCount, long pToolProperties) Unsafe version of:GetPhysicalDeviceToolPropertiesEXTstatic intvkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int[] pToolCount, @Nullable VkPhysicalDeviceToolProperties.Buffer pToolProperties) Array version of:GetPhysicalDeviceToolPropertiesEXTstatic intvkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, IntBuffer pToolCount, @Nullable VkPhysicalDeviceToolProperties.Buffer pToolProperties)
-
Field Details
-
VK_EXT_TOOLING_INFO_SPEC_VERSION
public static final int VK_EXT_TOOLING_INFO_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_EXT_TOOLING_INFO_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXTExtendsVkStructureType.- See Also:
-
VK_TOOL_PURPOSE_VALIDATION_BIT_EXT
public static final int VK_TOOL_PURPOSE_VALIDATION_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
VK_TOOL_PURPOSE_PROFILING_BIT_EXT
public static final int VK_TOOL_PURPOSE_PROFILING_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
VK_TOOL_PURPOSE_TRACING_BIT_EXT
public static final int VK_TOOL_PURPOSE_TRACING_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT
public static final int VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT
public static final int VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
public static final int VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
public static final int VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXTExtendsVkToolPurposeFlagBits.Enum values:
- See Also:
-
-
Method Details
-
nvkGetPhysicalDeviceToolPropertiesEXT
public static int nvkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pToolCount, long pToolProperties) Unsafe version of:GetPhysicalDeviceToolPropertiesEXT- Parameters:
pToolCount- a pointer to an integer describing the number of tools active onphysicalDevice.
-
vkGetPhysicalDeviceToolPropertiesEXT
public static int vkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, IntBuffer pToolCount, @Nullable VkPhysicalDeviceToolProperties.Buffer pToolProperties) - Parameters:
physicalDevice- the handle to the physical device to query for active tools.pToolCount- a pointer to an integer describing the number of tools active onphysicalDevice.pToolProperties- eitherNULLor a pointer to an array ofVkPhysicalDeviceToolPropertiesstructures.
-
vkGetPhysicalDeviceToolPropertiesEXT
public static int vkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int[] pToolCount, @Nullable VkPhysicalDeviceToolProperties.Buffer pToolProperties) Array version of:GetPhysicalDeviceToolPropertiesEXT
-