# PFN_vkDebugReportCallbackEXT(3) Manual Page

## Name

PFN_vkDebugReportCallbackEXT - Application-defined debug report callback function

Loading… please wait.

## C Specification

The prototype for the VkDebugReportCallbackCreateInfoEXT::`pfnCallback` function implemented by the application is:

    // Provided by VK_EXT_debug_report
    typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
        VkDebugReportFlagsEXT                       flags,
        VkDebugReportObjectTypeEXT                  objectType,
        uint64_t                                    object,
        size_t                                      location,
        int32_t                                     messageCode,
        const char*                                 pLayerPrefix,
        const char*                                 pMessage,
        void*                                       pUserData);

## Parameters

- `flags` specifies the VkDebugReportFlagBitsEXT that triggered this callback.

- `objectType` is a VkDebugReportObjectTypeEXT value specifying the type of object being used or created at the time the event was triggered.

- `object` is the object where the issue was detected. If `objectType` is `VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT`, `object` is undefined.

- `location` is a component (layer, driver, loader) defined value specifying the location of the trigger. This is an optional value.

- `messageCode` is a layer-defined value indicating what test triggered this callback.

- `pLayerPrefix` is a null-terminated UTF-8 string that is an abbreviation of the name of the component making the callback. `pLayerPrefix` is only valid for the duration of the callback.

- `pMessage` is a null-terminated UTF-8 string detailing the trigger conditions. `pMessage` is only valid for the duration of the callback.

- `pUserData` is the user data given when the VkDebugReportCallbackEXT was created.

## Description

The callback must not call `vkDestroyDebugReportCallbackEXT`.

The callback returns a VkBool32, which is interpreted in a layer-specified manner. The application should always return `VK_FALSE`. The `VK_TRUE` value is reserved for use in layer development.

`object` must be a Vulkan object or VK_NULL_HANDLE. If `objectType` is not `VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT` and `object` is not VK_NULL_HANDLE, `object` must be a Vulkan object of the corresponding type associated with `objectType` as defined in https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#debug-report-object-types.

## See Also

VK_EXT_debug_report, VkDebugReportCallbackCreateInfoEXT, VkDebugReportFlagsEXT, VkDebugReportObjectTypeEXT

## 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