2#include <source_location>
11 std::source_location
loc = std::source_location::current()) {
12 if (
result != vk::Result::eSuccess) {
14 std::format(
"{}:{} {}: {}",
loc.file_name(),
loc.line(), message, vk::to_string(
result));
21 std::source_location
loc = std::source_location::current()) {
23 if constexpr (
requires {
result.result; }) {
25 return std::move(
result.value);
26 }
else if constexpr (
requires {
result.has_value(); }) {
33 return std::forward<T>(
result);
Definition Application.hpp:28
auto check_vulkan_res_val(T &&result, std::string_view message, std::source_location loc=std::source_location::current())
Definition vulkan_utils.hpp:20
void engine_abort()
Definition base.hpp:46
u32 find_memory_type(const vk::PhysicalDevice &physical_device, u32 type_filter, vk::MemoryPropertyFlags properties)
Definition vulkan_utils.hpp:37
void check_vulkan_res(vk::Result result, std::string_view message, std::source_location loc=std::source_location::current())
Definition vulkan_utils.hpp:10
std::uint32_t u32
Definition types.hpp:15
constexpr T g_type_max
Definition types.hpp:21