| 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"
9 #include "impeller/renderer/backend/vulkan/vk.h"
10
11 namespace impeller {
12
13 class CapabilitiesVK;
14
15 class DebugReportVK {
16 public:
17 DebugReportVK(const CapabilitiesVK& caps, const vk::Instance& instance);
18
19 ~DebugReportVK();
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:33
impeller::DebugReportVK::~DebugReportVK
~DebugReportVK()
impeller
Definition: aiks_context.cc:10
impeller::DebugReportVK::DebugReportVK
DebugReportVK(const CapabilitiesVK &caps, const vk::Instance &instance)
Definition: debug_report_vk.cc:12