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

Chad Versace chadversary at chromium.org
Tue Oct 3 20:21:48 UTC 2017


On Tue 03 Oct 2017, Lionel Landwerlin wrote:
> On 03/10/17 19:13, Jason Ekstrand wrote:
> 
>     On Tue, Oct 3, 2017 at 9:43 AM, Chad Versace <[1]chadversary at chromium.org>
>     wrote:
> 
>         On Tue 03 Oct 2017, Lionel Landwerlin wrote:
>         > v2: Simplify offset enum computation (Jason)
>         >
>         > Signed-off-by: Lionel Landwerlin <[2]lionel.g.landwerlin at 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.
> 
> 
>     +1 to static inline
> 
> Done locally.

Cool. Waiting to see it appear in wip/djeath/ycbcr_conversion.
> 
> 
> References:
> 
> [1] mailto:chadversary at chromium.org
> [2] mailto:lionel.g.landwerlin at intel.com

> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list