2#include <source_location>
11 std::string_view message,
12 std::source_location
loc = std::source_location::current()) {
13 if (
result != vk::Result::eSuccess) {
14 log::engine::critical(
"{}:{} {}: {}",
26 std::string_view message,
27 std::source_location
loc = std::source_location::current()) {
29 if constexpr (
requires {
result.result; }) {
31 return std::move(
result.value);
32 }
else if constexpr (
requires {
result.has_value(); }) {
39 return std::forward<T>(
result);
#define NOT_IMPLEMENTED
Definition base.hpp:27
Definition Application.hpp:22
auto check_vulkan_res_val(T &&result, std::string_view message, std::source_location loc=std::source_location::current())
Definition vulkan_utils.hpp:25
void check_vulkan_res(vk::Result result, std::string_view message, std::source_location loc=std::source_location::current())
Definition vulkan_utils.hpp:10
U32 find_memory_type(const vk::PhysicalDevice &physical_device, U32 type_filter, vk::MemoryPropertyFlags properties)
Definition vulkan_utils.hpp:43
consteval U64 type_id_of()
Definition type_id.hpp:6
std::uint32_t U32
Definition types.hpp:15