5#ifndef FLUTTER_VULKAN_PROCS_VULKAN_INTERFACE_H_
6#define FLUTTER_VULKAN_PROCS_VULKAN_INTERFACE_H_
10#include "flutter/fml/build_config.h"
11#include "flutter/fml/logging.h"
14#ifndef VK_USE_PLATFORM_ANDROID_KHR
15#define VK_USE_PLATFORM_ANDROID_KHR 1
20#ifndef VK_USE_PLATFORM_MAGMA_KHR
21#define VK_USE_PLATFORM_MAGMA_KHR 1
23#ifndef VK_USE_PLATFORM_FUCHSIA
24#define VK_USE_PLATFORM_FUCHSIA 1
30#define VK_CALL_LOG_ERROR(expression) VK_CALL_LOG(expression, ERROR)
32#define VK_CALL_LOG_FATAL(expression) VK_CALL_LOG(expression, FATAL)
34#define VK_CALL_LOG(expression, severity) \
36 __typeof__(expression) _rc = (expression); \
37 if (_rc != VK_SUCCESS) { \
38 FML_LOG(severity) << "Vulkan call '" << #expression \
39 << "' failed with error " \
40 << vulkan::VulkanResultToString(_rc); \
std::string VulkanResultToString(VkResult result)