12345678910111213141516171819202122232425262728 |
- #ifndef GAMINGCORE_VULKAN_UTILITY_HPP
- #define GAMINGCORE_VULKAN_UTILITY_HPP
- #include <core/Logger.hpp>
- #include <vulkan/vulkan.h>
- namespace Core::Vulkan {
- const char* getResultString(VkResult r);
- }
- #define VK_REPORT(level, format, ...) \
- REPORT( \
- Core::LogLevel::level, "Vulkan | " format __VA_OPT__(, ) __VA_ARGS__);
- #define VK_REPORT_ERROR(...) VK_REPORT(ERROR, __VA_ARGS__)
- #define VK_REPORT_WARNING(...) VK_REPORT(WARNING, __VA_ARGS__)
- #define VK_CHECK(r, a) \
- do { \
- VkResult vkResult = (a); \
- if(vkResult != VK_SUCCESS) { \
- VK_REPORT_ERROR("#", Core::Vulkan::getResultString(vkResult)); \
- return r; \
- } \
- } while(false)
- #define VK_CHECK_TRUE(a) VK_CHECK(true, a)
- #define VK_CHECK_VOID(a) VK_CHECK(, a)
- #endif
|