Flutter Engine
The Flutter Engine
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
9
10namespace impeller {
11
12class CapabilitiesVK;
13
15 public:
16 DebugReportVK(const CapabilitiesVK& caps, const vk::Instance& instance);
17
19
20 bool IsValid() const;
21
22 private:
23 vk::UniqueDebugUtilsMessengerEXT messenger_;
24 bool is_valid_ = false;
25
26 enum class Result {
27 kContinue,
28 kAbort,
29 };
30
31 Result OnDebugCallback(vk::DebugUtilsMessageSeverityFlagBitsEXT severity,
32 vk::DebugUtilsMessageTypeFlagsEXT type,
34
35 static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsMessengerCallback(
38 const VkDebugUtilsMessengerCallbackDataEXT* callback_data,
39 void* user_data);
40
41 DebugReportVK(const DebugReportVK&) = delete;
42
43 DebugReportVK& operator=(const DebugReportVK&) = delete;
44};
45
46} // namespace impeller
47
48#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEBUG_REPORT_VK_H_
GLenum type
The Vulkan layers and extensions wrangler.
DebugReportVK(const CapabilitiesVK &caps, const vk::Instance &instance)
VkInstance instance
Definition: main.cc:48
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63
void * user_data
#define VKAPI_CALL
Definition: vk_platform.h:57
#define VKAPI_ATTR
Definition: vk_platform.h:56
VkFlags VkDebugUtilsMessageTypeFlagsEXT
uint32_t VkBool32
Definition: vulkan_core.h:94
VkDebugUtilsMessageSeverityFlagBitsEXT