Flutter Impeller
debug_report_vk.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEBUG_REPORT_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEBUG_REPORT_VK_H_
7 
8 #include "flutter/fml/macros.h"
10 
11 namespace impeller {
12 
13 class CapabilitiesVK;
14 
16  public:
17  DebugReportVK(const CapabilitiesVK& caps, const vk::Instance& instance);
18 
20 
21  bool IsValid() const;
22 
23  private:
24  vk::UniqueDebugUtilsMessengerEXT messenger_;
25  bool is_valid_ = false;
26 
27  enum class Result {
28  kContinue,
29  kAbort,
30  };
31 
32  Result OnDebugCallback(vk::DebugUtilsMessageSeverityFlagBitsEXT severity,
33  vk::DebugUtilsMessageTypeFlagsEXT type,
34  const VkDebugUtilsMessengerCallbackDataEXT* data);
35 
36  static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsMessengerCallback(
37  VkDebugUtilsMessageSeverityFlagBitsEXT severity,
38  VkDebugUtilsMessageTypeFlagsEXT type,
39  const VkDebugUtilsMessengerCallbackDataEXT* callback_data,
40  void* user_data);
41 
42  DebugReportVK(const DebugReportVK&) = delete;
43 
44  DebugReportVK& operator=(const DebugReportVK&) = delete;
45 };
46 
47 } // namespace impeller
48 
49 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEBUG_REPORT_VK_H_
impeller::DebugReportVK::IsValid
bool IsValid() const
Definition: debug_report_vk.cc:44
impeller::DebugReportVK
Definition: debug_report_vk.h:15
vk.h
impeller::CapabilitiesVK
The Vulkan layers and extensions wrangler.
Definition: capabilities_vk.h:113
impeller::DebugReportVK::~DebugReportVK
~DebugReportVK()
impeller
Definition: aiks_blur_unittests.cc:20
impeller::DebugReportVK::DebugReportVK
DebugReportVK(const CapabilitiesVK &caps, const vk::Instance &instance)
Definition: debug_report_vk.cc:12