Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class EXTToolingInfo

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

When an error occurs during application development, a common question is "What tools are actually running right now?" This extension adds the ability to query that information directly from the Vulkan implementation.

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

Functionality in this extension is included in core Vulkan 1.3, with the EXT suffix omitted. The original type, enum and command 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);
    }
}
VK_EXT_tooling_info
Name String
VK_EXT_tooling_info
Extension Type
Device extension
Registered Extension Number
246
Revision
1
Deprecation state
Contact
Other Extension Metadata
Last Modified Date
2018-11-05
Interactions and External Dependencies
  • Promoted to Vulkan 1.3 Core
Contributors
  • Rolando Caloca
  • Matthaeus Chajdas
  • Baldur Karlsson
  • Daniel Rakos

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_EXT_TOOLING_INFO_SPEC_VERSION

The extension specification version.

public static final int
public static final int
VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT

Extends VkToolPurposeFlagBits.

public static final int
VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT

Extends VkToolPurposeFlagBits.

public static final int
VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT

Extends VkToolPurposeFlagBits.

public static final int
VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT

Extends VkToolPurposeFlagBits.

public static final int
VK_TOOL_PURPOSE_PROFILING_BIT_EXT

Extends VkToolPurposeFlagBits.

public static final int
VK_TOOL_PURPOSE_TRACING_BIT_EXT

Extends VkToolPurposeFlagBits.

public static final int
VK_TOOL_PURPOSE_VALIDATION_BIT_EXT

Extends VkToolPurposeFlagBits.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, long
a pointer to an integer describing the number of tools active on physicalDevice.
pToolCount
,
long pToolProperties)

Unsafe version of: GetPhysicalDeviceToolPropertiesEXT

public static int
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice
the handle to the physical device to query for active tools.
physicalDevice
,
IntBuffer
a pointer to an integer describing the number of tools active on physicalDevice.
pToolCount
,
VkPhysicalDeviceToolProperties.Buffer
either NULL or a pointer to an array of VkPhysicalDeviceToolProperties structures.
pToolProperties
)

See GetPhysicalDeviceToolProperties.

public static int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_EXT_TOOLING_INFO_EXTENSION_NAMEback to summary
public static final String VK_EXT_TOOLING_INFO_EXTENSION_NAME

The extension name.

VK_EXT_TOOLING_INFO_SPEC_VERSIONback to summary
public static final int VK_EXT_TOOLING_INFO_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT

Extends VkStructureType.

VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:
VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:
VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:
VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:
VK_TOOL_PURPOSE_PROFILING_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_PROFILING_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:
VK_TOOL_PURPOSE_TRACING_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_TRACING_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:
VK_TOOL_PURPOSE_VALIDATION_BIT_EXTback to summary
public static final int VK_TOOL_PURPOSE_VALIDATION_BIT_EXT

Extends VkToolPurposeFlagBits.

Enum values:

Constructor Detail

EXTToolingInfoback to summary
protected EXTToolingInfo()

Method Detail

nvkGetPhysicalDeviceToolPropertiesEXTback to summary
public static int nvkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, long pToolCount, long pToolProperties)

Unsafe version of: GetPhysicalDeviceToolPropertiesEXT

Parameters
pToolCount:long

a pointer to an integer describing the number of tools active on physicalDevice.

vkGetPhysicalDeviceToolPropertiesEXTback to summary
public static int vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, IntBuffer pToolCount, VkPhysicalDeviceToolProperties.Buffer pToolProperties)

See GetPhysicalDeviceToolProperties.

Parameters
physicalDevice:VkPhysicalDevice

the handle to the physical device to query for active tools.

pToolCount:IntBuffer

a pointer to an integer describing the number of tools active on physicalDevice.

pToolProperties:VkPhysicalDeviceToolProperties.Buffer

either NULL or a pointer to an array of VkPhysicalDeviceToolProperties structures.

Annotations
@NativeType:VkResult
vkGetPhysicalDeviceToolPropertiesEXTback to summary
public static int vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, int[] pToolCount, VkPhysicalDeviceToolProperties.Buffer pToolProperties)

Array version of: GetPhysicalDeviceToolPropertiesEXT

Annotations
@NativeType:VkResult