Program Listing for File debug_callback.hpp

Return to documentation for file (inexor/vulkan-renderer/wrapper/debug_callback.hpp)

#pragma once

#include <volk.h>

namespace inexor::vulkan_renderer::wrapper {

// Forward declaration
class Instance;

class VulkanDebugUtilsCallback {
private:
    // We need to store the instance as a member to destroy the debug utils messenger callback in the destructor again.
    const Instance &m_instance;
    VkDebugUtilsMessengerEXT m_debug_callback{VK_NULL_HANDLE};

public:
    VulkanDebugUtilsCallback(const Instance &inst, PFN_vkDebugUtilsMessengerCallbackEXT debug_callback);
    ~VulkanDebugUtilsCallback();
};

} // namespace inexor::vulkan_renderer::wrapper