On Tue, May 24, 2016 at 4:32 PM, Emil Velikov <[email protected]> wrote: > From: Emil Velikov <[email protected]> > > Using the macro to set the version is wrong and ill-advised. Please don't > do it. > > Cc: Marek Olšák <[email protected]> > Signed-off-by: Emil Velikov <[email protected]> > --- > Marek, now things start to unravel as to why you were not too excited on > the idea. Hopefully this comment makes things clearer/more descriptive. > If not please let me know how we can improve it. > --- > include/GL/mesa_glinterop.h | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/include/GL/mesa_glinterop.h b/include/GL/mesa_glinterop.h > index 5c172c6..f637409 100644 > --- a/include/GL/mesa_glinterop.h > +++ b/include/GL/mesa_glinterop.h > @@ -93,7 +93,8 @@ enum { > * Device information returned by Mesa. > */ > typedef struct _mesa_glinterop_device_info { > - /* The caller should set this to: MESA_GLINTEROP_DEVICE_INFO_VERSION */ > + /* The caller should set this to the version of the struct they support */ > + /* NOTE: Do not use the MESA_GLINTEROP_DEVICE_INFO_VERSION macro */ > uint32_t struct_version; > > /* PCI location */ > @@ -124,7 +125,8 @@ typedef struct _mesa_glinterop_device_info { > * Input parameters to Mesa interop export functions. > */ > typedef struct _mesa_glinterop_export_in { > - /* The caller should set this to: MESA_GLINTEROP_EXPORT_IN_VERSION */ > + /* The caller should set this to the version of the struct they support */ > + /* NOTE: Do not use the MESA_GLINTEROP_EXPORT_IN_VERSION macro */ > uint32_t struct_version; > > /* One of the following: > @@ -183,7 +185,8 @@ typedef struct _mesa_glinterop_export_in { > * Outputs of Mesa interop export functions. > */ > typedef struct _mesa_glinterop_export_out { > - /* The caller should set this to: MESA_GLINTEROP_EXPORT_OUT_VERSION */ > + /* The caller should set this to the version of the struct they support */ > + /* NOTE: Do not use the MESA_GLINTEROP_EXPORT_OUT_VERSION macro */ > uint32_t struct_version;
Obviously, the comments don't apply to closed-source projects or any open source projects that just import the header and use the interface correctly and completely. If that's the case, using the VERSION macros makes sense. It had never been my intention for other projects to get this header from /usr/include/GL. Maybe we shouldn't install it. This patch would be OK if the header was used from /usr/include/GL only. Since that's not the expected usage, this patch is NAK. Marek _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
