4#include <vulkan/vulkan_raii.hpp>
5#include <VkBootstrap.h>
8#include <source_location>
11#include <RageUtil/Misc/RageTypes.h>
16 const std::source_location location = std::source_location::current());
21 const std::source_location location = std::source_location::current());
24Fail(
const std::source_location location = std::source_location::current());
27LoadShaderFromFile(std::string path,
28 vk::raii::Device& device,
29 ShaderType shaderType);
31std::optional<uint32_t>
32GetMemoryType(uint32_t typeBits,
33 vk::MemoryPropertyFlags neededProps,
34 vk::PhysicalDeviceMemoryProperties memoryProps);
38GetDetailedErrorString(vkb::Result<T>& result)
41 auto& reasons = result.detailed_failure_reasons();
43 for (
int i = 0; i < reasons.size(); i++) {
45 if (i != reasons.size() - 1) {
50 if (reasons.empty()) {
51 reason =
"No reason given";