public class EXTToolingInfo
extends java.lang.Object
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's necessary to consult each known tool to figure out what's 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.
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| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
VK_EXT_TOOLING_INFO_EXTENSION_NAME
The extension name.
|
static int |
VK_EXT_TOOLING_INFO_SPEC_VERSION
The extension specification version.
|
static int |
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT
Extends
VkStructureType. |
static int |
VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT
VkToolPurposeFlagBitsEXT - Bitmask specifying the purposes of an active tool
|
static int |
VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
Extends
VkToolPurposeFlagBitsEXT. |
static int |
VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
Extends
VkToolPurposeFlagBitsEXT. |
static int |
VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT
VkToolPurposeFlagBitsEXT - Bitmask specifying the purposes of an active tool
|
static int |
VK_TOOL_PURPOSE_PROFILING_BIT_EXT
VkToolPurposeFlagBitsEXT - Bitmask specifying the purposes of an active tool
|
static int |
VK_TOOL_PURPOSE_TRACING_BIT_EXT
VkToolPurposeFlagBitsEXT - Bitmask specifying the purposes of an active tool
|
static int |
VK_TOOL_PURPOSE_VALIDATION_BIT_EXT
VkToolPurposeFlagBitsEXT - Bitmask specifying the purposes of an active tool
|
| Modifier and Type | Method and Description |
|---|---|
static int |
nvkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice,
long pToolCount,
long pToolProperties)
Unsafe version of:
GetPhysicalDeviceToolPropertiesEXT |
static int |
vkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice,
int[] pToolCount,
VkPhysicalDeviceToolPropertiesEXT.Buffer pToolProperties)
Array version of:
GetPhysicalDeviceToolPropertiesEXT |
static int |
vkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice,
java.nio.IntBuffer pToolCount,
VkPhysicalDeviceToolPropertiesEXT.Buffer pToolProperties)
Reports properties of tools active on the specified physical device.
|
public static final int VK_EXT_TOOLING_INFO_SPEC_VERSION
public static final java.lang.String VK_EXT_TOOLING_INFO_EXTENSION_NAME
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT
VkStructureType.public static final int VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
VkToolPurposeFlagBitsEXT.
public static final int VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
VkToolPurposeFlagBitsEXT.
public static final int VK_TOOL_PURPOSE_VALIDATION_BIT_EXT
TOOL_PURPOSE_VALIDATION_BIT_EXT specifies that the tool provides validation of API usage.TOOL_PURPOSE_PROFILING_BIT_EXT specifies that the tool provides profiling of API usage.TOOL_PURPOSE_TRACING_BIT_EXT specifies that the tool is capturing data about the application’s API usage, including anything from simple logging to capturing data for later replay.TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT specifies that the tool provides additional API features/extensions on top of the underlying implementation.TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT specifies that the tool modifies the API features/limits/extensions presented to the application.TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT specifies that the tool reports additional information to the application via callbacks specified by CreateDebugReportCallbackEXT or CreateDebugUtilsMessengerEXTTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT specifies that the tool consumes debug markers or object debug annotation, queue labels, or command buffer labelsVkToolPurposeFlagsEXT
public static final int VK_TOOL_PURPOSE_PROFILING_BIT_EXT
TOOL_PURPOSE_VALIDATION_BIT_EXT specifies that the tool provides validation of API usage.TOOL_PURPOSE_PROFILING_BIT_EXT specifies that the tool provides profiling of API usage.TOOL_PURPOSE_TRACING_BIT_EXT specifies that the tool is capturing data about the application’s API usage, including anything from simple logging to capturing data for later replay.TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT specifies that the tool provides additional API features/extensions on top of the underlying implementation.TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT specifies that the tool modifies the API features/limits/extensions presented to the application.TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT specifies that the tool reports additional information to the application via callbacks specified by CreateDebugReportCallbackEXT or CreateDebugUtilsMessengerEXTTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT specifies that the tool consumes debug markers or object debug annotation, queue labels, or command buffer labelsVkToolPurposeFlagsEXT
public static final int VK_TOOL_PURPOSE_TRACING_BIT_EXT
TOOL_PURPOSE_VALIDATION_BIT_EXT specifies that the tool provides validation of API usage.TOOL_PURPOSE_PROFILING_BIT_EXT specifies that the tool provides profiling of API usage.TOOL_PURPOSE_TRACING_BIT_EXT specifies that the tool is capturing data about the application’s API usage, including anything from simple logging to capturing data for later replay.TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT specifies that the tool provides additional API features/extensions on top of the underlying implementation.TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT specifies that the tool modifies the API features/limits/extensions presented to the application.TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT specifies that the tool reports additional information to the application via callbacks specified by CreateDebugReportCallbackEXT or CreateDebugUtilsMessengerEXTTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT specifies that the tool consumes debug markers or object debug annotation, queue labels, or command buffer labelsVkToolPurposeFlagsEXT
public static final int VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT
TOOL_PURPOSE_VALIDATION_BIT_EXT specifies that the tool provides validation of API usage.TOOL_PURPOSE_PROFILING_BIT_EXT specifies that the tool provides profiling of API usage.TOOL_PURPOSE_TRACING_BIT_EXT specifies that the tool is capturing data about the application’s API usage, including anything from simple logging to capturing data for later replay.TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT specifies that the tool provides additional API features/extensions on top of the underlying implementation.TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT specifies that the tool modifies the API features/limits/extensions presented to the application.TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT specifies that the tool reports additional information to the application via callbacks specified by CreateDebugReportCallbackEXT or CreateDebugUtilsMessengerEXTTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT specifies that the tool consumes debug markers or object debug annotation, queue labels, or command buffer labelsVkToolPurposeFlagsEXT
public static final int VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT
TOOL_PURPOSE_VALIDATION_BIT_EXT specifies that the tool provides validation of API usage.TOOL_PURPOSE_PROFILING_BIT_EXT specifies that the tool provides profiling of API usage.TOOL_PURPOSE_TRACING_BIT_EXT specifies that the tool is capturing data about the application’s API usage, including anything from simple logging to capturing data for later replay.TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT specifies that the tool provides additional API features/extensions on top of the underlying implementation.TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT specifies that the tool modifies the API features/limits/extensions presented to the application.TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT specifies that the tool reports additional information to the application via callbacks specified by CreateDebugReportCallbackEXT or CreateDebugUtilsMessengerEXTTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT specifies that the tool consumes debug markers or object debug annotation, queue labels, or command buffer labelsVkToolPurposeFlagsEXT
public static int nvkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice,
long pToolCount,
long pToolProperties)
GetPhysicalDeviceToolPropertiesEXTpToolCount - a pointer to an integer describing the number of tools active on physicalDevice.public static int vkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice,
java.nio.IntBuffer pToolCount,
@Nullable
VkPhysicalDeviceToolPropertiesEXT.Buffer pToolProperties)
Information about tools providing debugging, profiling, or similar services, active for a given physical device, can be obtained by calling:
VkResult vkGetPhysicalDeviceToolPropertiesEXT(
VkPhysicalDevice physicalDevice,
uint32_t* pToolCount,
VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
If pToolProperties is NULL, the implementation will return the number of tools currently active on physicalDevice in pToolCount.
If pToolProperties is not NULL, its elements are populate with information about active tools, up to the number stored in pToolCount; the number of elements actually returned is returned in pToolCount.
physicalDevice must be a valid VkPhysicalDevice handlepToolCount must be a valid pointer to a uint32_t valuepToolProperties is not NULL, pToolProperties must be a valid pointer to an array of pToolCount VkPhysicalDeviceToolPropertiesEXT structurespToolProperties is not NULL, the value referenced by pToolCount must be greater than 0physicalDevice - the handle to the physical device to query for active tools.pToolCount - a pointer to an integer describing the number of tools active on physicalDevice.pToolProperties - either NULL or a pointer to an array of VkPhysicalDeviceToolPropertiesEXT instances.public static int vkGetPhysicalDeviceToolPropertiesEXT(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice,
int[] pToolCount,
@Nullable
VkPhysicalDeviceToolPropertiesEXT.Buffer pToolProperties)
GetPhysicalDeviceToolPropertiesEXTCopyright LWJGL. All Rights Reserved. License terms.