On Tue 03 Oct 2017, Lionel Landwerlin wrote: > v2: Simplify offset enum computation (Jason) > > Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> > --- > src/vulkan/util/vk_util.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/vulkan/util/vk_util.h b/src/vulkan/util/vk_util.h > index 2ed601f881e..8c8cb64d513 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))
The macro functions, when called, look like regular functions due to being lowercase. But they don't behave like functions; their arguments suffer from the multiple evaluation disease. Please rename the macros to be all uppercase, so callers' expectations will be set correctly. Or, even better, define them as inline functions. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev