| 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 #pragma once
6
7 #include "flutter/fml/macros.h"
8 #include "impeller/renderer/backend/vulkan/vk.h"
9
10 namespace impeller {
11
12 class CapabilitiesVK;
13
14 class DebugReportVK {
15 public:
16 DebugReportVK(const CapabilitiesVK& caps, const vk::Instance& instance);
17
18 ~DebugReportVK();
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,
33 const VkDebugUtilsMessengerCallbackDataEXT* data);
34
35 static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsMessengerCallback(
36 VkDebugUtilsMessageSeverityFlagBitsEXT severity,
37 VkDebugUtilsMessageTypeFlagsEXT type,
38 const VkDebugUtilsMessengerCallbackDataEXT* callback_data,
39 void* user_data);
40
41 FML_DISALLOW_COPY_AND_ASSIGN(DebugReportVK);
42 };
43
44 } // namespace impeller
impeller::DebugReportVK::IsValid
bool IsValid() const
Definition: debug_report_vk.cc:44
impeller::DebugReportVK
Definition: debug_report_vk.h:14
vk.h
impeller::CapabilitiesVK
The Vulkan layers and extensions wrangler.
Definition: capabilities_vk.h:30
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