diff options
Diffstat (limited to 'src/macros.hpp')
| -rw-r--r-- | src/macros.hpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/macros.hpp b/src/macros.hpp new file mode 100644 index 0000000..4c1ddf1 --- /dev/null +++ b/src/macros.hpp @@ -0,0 +1,51 @@ +/* +* Global macros +* +* Copyright (C) 2018 by Sascha Willems - www.saschawillems.de +* +* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) +*/ + +#pragma once + +#include "vulkan/vulkan.h" + +#if defined(__ANDROID__) +#define VK_CHECK_RESULT(f) \ +{ \ + VkResult res = (f); \ + if (res != VK_SUCCESS) \ + { \ + LOGE("Fatal : VkResult is \" %d \" in %s at line %d", res, __FILE__, __LINE__); \ + assert(res == VK_SUCCESS); \ + } \ +} +#else +#define VK_CHECK_RESULT(f) \ +{ \ + VkResult res = (f); \ + if (res != VK_SUCCESS) \ + { \ + std::cout << "Fatal : VkResult is \"" << res << "\" in " << __FILE__ << " at line " << __LINE__ << std::endl; \ + assert(res == VK_SUCCESS); \ + } \ +} +#endif + +#define GET_INSTANCE_PROC_ADDR(inst, entrypoint) \ +{ \ + fp##entrypoint = reinterpret_cast<PFN_vk##entrypoint>(vkGetInstanceProcAddr(inst, "vk"#entrypoint)); \ + if (fp##entrypoint == NULL) \ + { \ + exit(1); \ + } \ +} + +#define GET_DEVICE_PROC_ADDR(dev, entrypoint) \ +{ \ + fp##entrypoint = reinterpret_cast<PFN_vk##entrypoint>(vkGetDeviceProcAddr(dev, "vk"#entrypoint)); \ + if (fp##entrypoint == NULL) \ + { \ + exit(1); \ + } \ +}
\ No newline at end of file |