summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2017-03-14 17:17:12 +0000
committerLionel Landwerlin <[email protected]>2017-10-06 11:45:41 +0100
commitc90e50f3a07867f3ce3a425c8b0b6d57a1c5ade5 (patch)
tree16edb417593ac088a14fbbca8ec43ed8026bee41
parentc8ea55ddda270687e048f88f440b1a543e4520e2 (diff)
vulkan: util: add macros to extract extension/offset number from enums
v2: Simplify offset enum computation (Jason) v3: capitalize macros (Chad) Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/vulkan/util/vk_util.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vulkan/util/vk_util.h b/src/vulkan/util/vk_util.h
index 2ed601f881e..4c18a196b71 100644
--- a/src/vulkan/util/vk_util.h
+++ b/src/vulkan/util/vk_util.h
@@ -199,4 +199,10 @@ __vk_find_struct(void *start, VkStructureType sType)
uint32_t vk_get_driver_version(void);
+#define VK_EXT_OFFSET (1000000000UL)
+#define VK_ENUM_EXTENSION(__enum) \
+ ((__enum) >= VK_EXT_OFFSET ? ((((__enum) - VK_EXT_OFFSET) / 1000UL) + 1) : 0)
+#define VK_ENUM_OFFSET(__enum) \
+ ((__enum) >= VK_EXT_OFFSET ? ((__enum) % 1000) : (__enum))
+
#endif /* VK_UTIL_H */