[Mesa-dev] [PATCH 5/5] vulkan: util: add macros to extract extension/offset number from enums

Lionel Landwerlin lionel.g.landwerlin at intel.com
Wed Jun 28 16:18:40 UTC 2017


Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
 src/vulkan/util/vk_util.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/vulkan/util/vk_util.h b/src/vulkan/util/vk_util.h
index 2ed601f881e..a152984d14d 100644
--- a/src/vulkan/util/vk_util.h
+++ b/src/vulkan/util/vk_util.h
@@ -199,4 +199,11 @@ __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) - VK_EXT_OFFSET - ((vk_enum_extension(__enum) - 1) * 1000)) : (__enum))
+
 #endif /* VK_UTIL_H */
-- 
2.13.2



More information about the mesa-dev mailing list