aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/macros.h')
-rw-r--r--src/macros.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/macros.h b/src/macros.h
new file mode 100644
index 0000000..4c1ddf1
--- /dev/null
+++ b/src/macros.h
@@ -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