VkDebugUtilsObjectNameInfoEXT(3)

# VkDebugUtilsObjectNameInfoEXT(3) Manual Page

## Name

VkDebugUtilsObjectNameInfoEXT - Specify parameters of a name to give to an object

Loading… please wait.

## C Specification

The `VkDebugUtilsObjectNameInfoEXT` structure is defined as:

    // Provided by VK_EXT_debug_utils
    typedef struct VkDebugUtilsObjectNameInfoEXT {
        VkStructureType    sType;
        const void*        pNext;
        VkObjectType       objectType;
        uint64_t           objectHandle;
        const char*        pObjectName;
    } VkDebugUtilsObjectNameInfoEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `objectType` is a VkObjectType specifying the type of the object to be named.

- `objectHandle` is the object to be named.

- `pObjectName` is either `NULL` or a null-terminated UTF-8 string specifying the name to apply to `objectHandle`.

## Description

Applications may change the name associated with an object simply by calling `vkSetDebugUtilsObjectNameEXT` again with a new string. If `pObjectName` is either `NULL` or an empty string, then any previously set name is removed.

The `graphicsPipelineLibrary` feature allows the specification of pipelines without the creation of VkShaderModule objects beforehand. In order to continue to allow naming these shaders independently, `VkDebugUtilsObjectNameInfoEXT` can be included in the `pNext` chain of VkPipelineShaderStageCreateInfo, which associates a static name with that particular shader.

This structure can be included in the `pNext` chain of VkResourceDescriptorInfoEXT or VkSamplerCreateInfo to label a descriptor or embedded sampler. This structure may be ignored when included in the `pNext` chain of VkSamplerCreateInfo when creating a sampler object. The label must remain valid while the descriptor is valid; it may be discarded if it becomes invalid.

Valid Usage

- VUID-VkDebugUtilsObjectNameInfoEXT-objectType-02589
  If `objectType` is VK_OBJECT_TYPE_UNKNOWN, `objectHandle` must not be VK_NULL_HANDLE

- VUID-VkDebugUtilsObjectNameInfoEXT-objectType-02590
  If `objectType` is not VK_OBJECT_TYPE_UNKNOWN, `objectHandle` must be VK_NULL_HANDLE or a valid Vulkan handle of the type associated with `objectType` as defined in the `VkObjectType` and Vulkan Handle Relationship table

Valid Usage (Implicit)

- VUID-VkDebugUtilsObjectNameInfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT

- VUID-VkDebugUtilsObjectNameInfoEXT-objectType-parameter
  `objectType` must be a valid VkObjectType value

- VUID-VkDebugUtilsObjectNameInfoEXT-pObjectName-parameter
  If `pObjectName` is not `NULL`, `pObjectName` must be a null-terminated UTF-8 string

## See Also

VK_EXT_debug_utils, VkDebugUtilsMessengerCallbackDataEXT, VkObjectType, VkStructureType, vkSetDebugUtilsObjectNameEXT

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0