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_VULKAN_VULKAN_UTILITIES_H_
6#define FLUTTER_VULKAN_VULKAN_UTILITIES_H_
7
8#include <string>
9#include <vector>
10
11#include "flutter/fml/macros.h"
12#include "vulkan_handle.h"
13#include "vulkan_proc_table.h"
14
15namespace vulkan {
16
17bool ValidationLayerInfoMessagesEnabled();
18bool ValidationErrorsFatal();
19
20std::vector<std::string> InstanceLayersToEnable(const VulkanProcTable& vk,
21 bool enable_validation_layers);
22
23std::vector<std::string> DeviceLayersToEnable(
24 const VulkanProcTable& vk,
25 const VulkanHandle<VkPhysicalDevice>& physical_device,
26 bool enable_validation_layers);
27
28} // namespace vulkan
29
30#endif // FLUTTER_VULKAN_VULKAN_UTILITIES_H_
31