# VkToolPurposeFlagBits(3) Manual Page

## Name

VkToolPurposeFlagBits - Bitmask specifying the purposes of an active tool

Loading… please wait.

## C Specification

Bits which can be set in VkPhysicalDeviceToolProperties::`purposes`, specifying the purposes of an active tool, are:

    // Provided by VK_VERSION_1_3
    typedef enum VkToolPurposeFlagBits {
        VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
        VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
        VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
        VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
        VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
      // Provided by VK_EXT_debug_report with VK_EXT_tooling_info, VK_EXT_debug_utils with VK_EXT_tooling_info
        VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
      // Provided by VK_EXT_debug_marker with VK_EXT_tooling_info, VK_EXT_debug_utils with VK_EXT_tooling_info
        VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
      // Provided by VK_EXT_tooling_info
        VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
      // Provided by VK_EXT_tooling_info
        VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
      // Provided by VK_EXT_tooling_info
        VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
      // Provided by VK_EXT_tooling_info
        VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
      // Provided by VK_EXT_tooling_info
        VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
    } VkToolPurposeFlagBits;

or the equivalent

    // Provided by VK_EXT_tooling_info
    typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;

## Description

- `VK_TOOL_PURPOSE_VALIDATION_BIT` specifies that the tool provides validation of API usage.

- `VK_TOOL_PURPOSE_PROFILING_BIT` specifies that the tool provides profiling of API usage.

- `VK_TOOL_PURPOSE_TRACING_BIT` specifies that the tool is capturing data about the application’s API usage, including anything from simple logging to capturing data for later replay.

- `VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT` specifies that the tool provides additional API features/extensions on top of the underlying implementation.

- `VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT` specifies that the tool modifies the API features/limits/extensions presented to the application.

- `VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT` specifies that the tool reports additional information to the application via callbacks specified by vkCreateDebugReportCallbackEXT or vkCreateDebugUtilsMessengerEXT

- `VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT` specifies that the tool consumes debug markers or object debug annotation, queue labels, or command buffer labels

## See Also

VK_EXT_tooling_info, VK_VERSION_1_3, VkToolPurposeFlags

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0