[Mesa-dev] [PATCH v2 14/18] mesa_glinterop: remove mesa_glinterop typedefs

Marek Olšák maraeo at gmail.com
Mon May 30 13:34:29 UTC 2016


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Mon, May 30, 2016 at 2:47 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> As is there are two places that do the typedefs - dri_interface.h and
> this header. As we cannot include the former in here, just drop the
> typedefs and use the struct directly (as needed).
>
> This is required because typedef redefinition is C11 feature which is
> not supported on all the versions of GCC used to build mesa.
>
> v2: Kill the typedef alltogether, as per Marek.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96236
> Cc: Vinson Lee <vlee at freedesktop.org>
> Cc: Marek Olšák <marek.olsak at amd.com>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
>  include/GL/internal/dri_interface.h   | 12 ++++++------
>  include/GL/mesa_glinterop.h           | 36 +++++++++++++++++------------------
>  src/egl/drivers/dri2/egl_dri2.c       |  6 +++---
>  src/egl/main/eglapi.c                 |  6 +++---
>  src/egl/main/eglapi.h                 | 12 ++++++------
>  src/gallium/state_trackers/dri/dri2.c |  6 +++---
>  src/glx/dri2_priv.h                   |  6 +++---
>  src/glx/dri3_priv.h                   |  6 +++---
>  src/glx/dri_common_interop.c          | 12 ++++++------
>  src/glx/glxclient.h                   | 12 ++++++------
>  src/glx/glxcmds.c                     |  6 +++---
>  11 files changed, 60 insertions(+), 60 deletions(-)
>
> diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
> index f80233b..1c73cce 100644
> --- a/include/GL/internal/dri_interface.h
> +++ b/include/GL/internal/dri_interface.h
> @@ -401,21 +401,21 @@ struct __DRI2fenceExtensionRec {
>  #define __DRI2_INTEROP "DRI2_Interop"
>  #define __DRI2_INTEROP_VERSION 1
>
> -typedef struct _mesa_glinterop_device_info mesa_glinterop_device_info;
> -typedef struct _mesa_glinterop_export_in mesa_glinterop_export_in;
> -typedef struct _mesa_glinterop_export_out mesa_glinterop_export_out;
> +struct mesa_glinterop_device_info;
> +struct mesa_glinterop_export_in;
> +struct mesa_glinterop_export_out;
>
>  struct __DRI2interopExtensionRec {
>     __DRIextension base;
>
>     /** Same as MesaGLInterop*QueryDeviceInfo. */
>     int (*query_device_info)(__DRIcontext *ctx,
> -                            mesa_glinterop_device_info *out);
> +                            struct mesa_glinterop_device_info *out);
>
>     /** Same as MesaGLInterop*ExportObject. */
>     int (*export_object)(__DRIcontext *ctx,
> -                        mesa_glinterop_export_in *in,
> -                        mesa_glinterop_export_out *out);
> +                        struct mesa_glinterop_export_in *in,
> +                        struct mesa_glinterop_export_out *out);
>  };
>
>  /*@}*/
> diff --git a/include/GL/mesa_glinterop.h b/include/GL/mesa_glinterop.h
> index b805d63..c0c20d6 100644
> --- a/include/GL/mesa_glinterop.h
> +++ b/include/GL/mesa_glinterop.h
> @@ -92,7 +92,7 @@ enum {
>  /**
>   * Device information returned by Mesa.
>   */
> -typedef struct _mesa_glinterop_device_info {
> +struct mesa_glinterop_device_info {
>     /* The caller should set this to the version of the struct they support */
>     /* The callee will overwrite it if it supports a lower version.
>      *
> @@ -113,14 +113,14 @@ typedef struct _mesa_glinterop_device_info {
>     uint32_t device_id;
>
>     /* Structure version 1 ends here. */
> -} mesa_glinterop_device_info;
> +};
>
>  #define MESA_GLINTEROP_EXPORT_IN_VERSION 1
>
>  /**
>   * Input parameters to Mesa interop export functions.
>   */
> -typedef struct _mesa_glinterop_export_in {
> +struct mesa_glinterop_export_in {
>     /* The caller should set this to the version of the struct they support */
>     /* The callee will overwrite it if it supports a lower version.
>      *
> @@ -178,14 +178,14 @@ typedef struct _mesa_glinterop_export_in {
>      */
>     void *out_driver_data;
>     /* Structure version 1 ends here. */
> -} mesa_glinterop_export_in;
> +};
>
>  #define MESA_GLINTEROP_EXPORT_OUT_VERSION 1
>
>  /**
>   * Outputs of Mesa interop export functions.
>   */
> -typedef struct _mesa_glinterop_export_out {
> +struct mesa_glinterop_export_out {
>     /* The caller should set this to the version of the struct they support */
>     /* The callee will overwrite it if it supports a lower version.
>      *
> @@ -233,7 +233,7 @@ typedef struct _mesa_glinterop_export_out {
>     /* The number of bytes written to out_driver_data. */
>     uint32_t out_driver_data_written;
>     /* Structure version 1 ends here. */
> -} mesa_glinterop_export_out;
> +};
>
>
>  /**
> @@ -247,7 +247,7 @@ typedef struct _mesa_glinterop_export_out {
>   */
>  int
>  MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
> -                                mesa_glinterop_device_info *out);
> +                                struct mesa_glinterop_device_info *out);
>
>
>  /**
> @@ -256,7 +256,7 @@ MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
>   */
>  int
>  MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
> -                                mesa_glinterop_device_info *out);
> +                                struct mesa_glinterop_device_info *out);
>
>
>  /**
> @@ -272,8 +272,8 @@ MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
>   */
>  int
>  MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
> -                             mesa_glinterop_export_in *in,
> -                             mesa_glinterop_export_out *out);
> +                             struct mesa_glinterop_export_in *in,
> +                             struct mesa_glinterop_export_out *out);
>
>
>  /**
> @@ -282,20 +282,20 @@ MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
>   */
>  int
>  MesaGLInteropEGLExportObject(EGLDisplay dpy, EGLContext context,
> -                             mesa_glinterop_export_in *in,
> -                             mesa_glinterop_export_out *out);
> +                             struct mesa_glinterop_export_in *in,
> +                             struct mesa_glinterop_export_out *out);
>
>
>  typedef int (PFNMESAGLINTEROPGLXQUERYDEVICEINFOPROC)(Display *dpy, GLXContext context,
> -                                                     mesa_glinterop_device_info *out);
> +                                                     struct mesa_glinterop_device_info *out);
>  typedef int (PFNMESAGLINTEROPEGLQUERYDEVICEINFOPROC)(EGLDisplay dpy, EGLContext context,
> -                                                     mesa_glinterop_device_info *out);
> +                                                     struct mesa_glinterop_device_info *out);
>  typedef int (PFNMESAGLINTEROPGLXEXPORTOBJECTPROC)(Display *dpy, GLXContext context,
> -                                                  mesa_glinterop_export_in *in,
> -                                                  mesa_glinterop_export_out *out);
> +                                                  struct mesa_glinterop_export_in *in,
> +                                                  struct mesa_glinterop_export_out *out);
>  typedef int (PFNMESAGLINTEROPEGLEXPORTOBJECTPROC)(EGLDisplay dpy, EGLContext context,
> -                                                  mesa_glinterop_export_in *in,
> -                                                  mesa_glinterop_export_out *out);
> +                                                  struct mesa_glinterop_export_in *in,
> +                                                  struct mesa_glinterop_export_out *out);
>
>  #ifdef __cplusplus
>  }
> diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
> index f954cd5..bfde640 100644
> --- a/src/egl/drivers/dri2/egl_dri2.c
> +++ b/src/egl/drivers/dri2/egl_dri2.c
> @@ -2690,7 +2690,7 @@ dri2_server_wait_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync)
>
>  static int
>  dri2_interop_query_device_info(_EGLDisplay *dpy, _EGLContext *ctx,
> -                               mesa_glinterop_device_info *out)
> +                               struct mesa_glinterop_device_info *out)
>  {
>     struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
>     struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
> @@ -2703,8 +2703,8 @@ dri2_interop_query_device_info(_EGLDisplay *dpy, _EGLContext *ctx,
>
>  static int
>  dri2_interop_export_object(_EGLDisplay *dpy, _EGLContext *ctx,
> -                           mesa_glinterop_export_in *in,
> -                           mesa_glinterop_export_out *out)
> +                           struct mesa_glinterop_export_in *in,
> +                           struct mesa_glinterop_export_out *out)
>  {
>     struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
>     struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
> index 098bed0..4700dbe 100644
> --- a/src/egl/main/eglapi.c
> +++ b/src/egl/main/eglapi.c
> @@ -1939,7 +1939,7 @@ _eglLockDisplayInterop(EGLDisplay dpy, EGLContext context,
>
>  int
>  MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
> -                                mesa_glinterop_device_info *out)
> +                                struct mesa_glinterop_device_info *out)
>  {
>     _EGLDisplay *disp;
>     _EGLDriver *drv;
> @@ -1961,8 +1961,8 @@ MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
>
>  int
>  MesaGLInteropEGLExportObject(EGLDisplay dpy, EGLContext context,
> -                             mesa_glinterop_export_in *in,
> -                             mesa_glinterop_export_out *out)
> +                             struct mesa_glinterop_export_in *in,
> +                             struct mesa_glinterop_export_out *out)
>  {
>     _EGLDisplay *disp;
>     _EGLDriver *drv;
> diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h
> index 4df17c0..2d6a24f 100644
> --- a/src/egl/main/eglapi.h
> +++ b/src/egl/main/eglapi.h
> @@ -42,9 +42,9 @@ extern "C" {
>  typedef void (*_EGLProc)(void);
>
>  struct wl_display;
> -typedef struct _mesa_glinterop_device_info mesa_glinterop_device_info;
> -typedef struct _mesa_glinterop_export_in mesa_glinterop_export_in;
> -typedef struct _mesa_glinterop_export_out mesa_glinterop_export_out;
> +struct mesa_glinterop_device_info;
> +struct mesa_glinterop_export_in;
> +struct mesa_glinterop_export_out;
>
>  /**
>   * The API dispatcher jumps through these functions
> @@ -193,10 +193,10 @@ struct _egl_api
>                                         EGLint *strides, EGLint *offsets);
>
>     int (*GLInteropQueryDeviceInfo)(_EGLDisplay *dpy, _EGLContext *ctx,
> -                                   mesa_glinterop_device_info *out);
> +                                   struct mesa_glinterop_device_info *out);
>     int (*GLInteropExportObject)(_EGLDisplay *dpy, _EGLContext *ctx,
> -                                mesa_glinterop_export_in *in,
> -                                mesa_glinterop_export_out *out);
> +                                struct mesa_glinterop_export_in *in,
> +                                struct mesa_glinterop_export_out *out);
>  };
>
>
> diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
> index 8dea671..28f8078 100644
> --- a/src/gallium/state_trackers/dri/dri2.c
> +++ b/src/gallium/state_trackers/dri/dri2.c
> @@ -1488,7 +1488,7 @@ static const __DRIrobustnessExtension dri2Robustness = {
>
>  static int
>  dri2_interop_query_device_info(__DRIcontext *_ctx,
> -                               mesa_glinterop_device_info *out)
> +                               struct mesa_glinterop_device_info *out)
>  {
>     struct pipe_screen *screen = dri_context(_ctx)->st->pipe->screen;
>
> @@ -1512,8 +1512,8 @@ dri2_interop_query_device_info(__DRIcontext *_ctx,
>
>  static int
>  dri2_interop_export_object(__DRIcontext *_ctx,
> -                           mesa_glinterop_export_in *in,
> -                           mesa_glinterop_export_out *out)
> +                           struct mesa_glinterop_export_in *in,
> +                           struct mesa_glinterop_export_out *out)
>  {
>     struct st_context_iface *st = dri_context(_ctx)->st;
>     struct pipe_screen *screen = st->pipe->screen;
> diff --git a/src/glx/dri2_priv.h b/src/glx/dri2_priv.h
> index edba31e..30ab2cd 100644
> --- a/src/glx/dri2_priv.h
> +++ b/src/glx/dri2_priv.h
> @@ -72,12 +72,12 @@ dri2_query_renderer_string(struct glx_screen *base, int attribute,
>
>  _X_HIDDEN int
>  dri2_interop_query_device_info(struct glx_context *ctx,
> -                               mesa_glinterop_device_info *out);
> +                               struct mesa_glinterop_device_info *out);
>
>  _X_HIDDEN int
>  dri2_interop_export_object(struct glx_context *ctx,
> -                           mesa_glinterop_export_in *in,
> -                           mesa_glinterop_export_out *out);
> +                           struct mesa_glinterop_export_in *in,
> +                           struct mesa_glinterop_export_out *out);
>
>  #ifdef __cplusplus
>  }
> diff --git a/src/glx/dri3_priv.h b/src/glx/dri3_priv.h
> index 86ad17c..0822377 100644
> --- a/src/glx/dri3_priv.h
> +++ b/src/glx/dri3_priv.h
> @@ -135,9 +135,9 @@ dri3_query_renderer_string(struct glx_screen *base, int attribute,
>
>  _X_HIDDEN int
>  dri3_interop_query_device_info(struct glx_context *ctx,
> -                               mesa_glinterop_device_info *out);
> +                               struct mesa_glinterop_device_info *out);
>
>  _X_HIDDEN int
>  dri3_interop_export_object(struct glx_context *ctx,
> -                           mesa_glinterop_export_in *in,
> -                           mesa_glinterop_export_out *out);
> +                           struct mesa_glinterop_export_in *in,
> +                           struct mesa_glinterop_export_out *out);
> diff --git a/src/glx/dri_common_interop.c b/src/glx/dri_common_interop.c
> index 215aac4..85538c6 100644
> --- a/src/glx/dri_common_interop.c
> +++ b/src/glx/dri_common_interop.c
> @@ -34,7 +34,7 @@
>
>  _X_HIDDEN int
>  dri2_interop_query_device_info(struct glx_context *ctx,
> -                               mesa_glinterop_device_info *out)
> +                               struct mesa_glinterop_device_info *out)
>  {
>     struct dri2_screen *psc = (struct dri2_screen*)ctx->psc;
>     struct dri2_context *drictx = (struct dri2_context*)ctx;
> @@ -47,8 +47,8 @@ dri2_interop_query_device_info(struct glx_context *ctx,
>
>  _X_HIDDEN int
>  dri2_interop_export_object(struct glx_context *ctx,
> -                           mesa_glinterop_export_in *in,
> -                           mesa_glinterop_export_out *out)
> +                           struct mesa_glinterop_export_in *in,
> +                           struct mesa_glinterop_export_out *out)
>  {
>     struct dri2_screen *psc = (struct dri2_screen*)ctx->psc;
>     struct dri2_context *drictx = (struct dri2_context*)ctx;
> @@ -63,7 +63,7 @@ dri2_interop_export_object(struct glx_context *ctx,
>
>  _X_HIDDEN int
>  dri3_interop_query_device_info(struct glx_context *ctx,
> -                               mesa_glinterop_device_info *out)
> +                               struct mesa_glinterop_device_info *out)
>  {
>     struct dri3_screen *psc = (struct dri3_screen*)ctx->psc;
>     struct dri3_context *drictx = (struct dri3_context*)ctx;
> @@ -76,8 +76,8 @@ dri3_interop_query_device_info(struct glx_context *ctx,
>
>  _X_HIDDEN int
>  dri3_interop_export_object(struct glx_context *ctx,
> -                           mesa_glinterop_export_in *in,
> -                           mesa_glinterop_export_out *out)
> +                           struct mesa_glinterop_export_in *in,
> +                           struct mesa_glinterop_export_out *out)
>  {
>     struct dri3_screen *psc = (struct dri3_screen*)ctx->psc;
>     struct dri3_context *drictx = (struct dri3_context*)ctx;
> diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h
> index 16acd4b..6c5ad94 100644
> --- a/src/glx/glxclient.h
> +++ b/src/glx/glxclient.h
> @@ -213,9 +213,9 @@ typedef struct __GLXattributeMachineRec
>     __GLXattribute **stackPointer;
>  } __GLXattributeMachine;
>
> -typedef struct _mesa_glinterop_device_info mesa_glinterop_device_info;
> -typedef struct _mesa_glinterop_export_in mesa_glinterop_export_in;
> -typedef struct _mesa_glinterop_export_out mesa_glinterop_export_out;
> +struct mesa_glinterop_device_info;
> +struct mesa_glinterop_export_in;
> +struct mesa_glinterop_export_out;
>
>  struct glx_context_vtable {
>     void (*destroy)(struct glx_context *ctx);
> @@ -232,10 +232,10 @@ struct glx_context_vtable {
>     void (*release_tex_image)(Display * dpy, GLXDrawable drawable, int buffer);
>     void * (*get_proc_address)(const char *symbol);
>     int (*interop_query_device_info)(struct glx_context *ctx,
> -                                    mesa_glinterop_device_info *out);
> +                                    struct mesa_glinterop_device_info *out);
>     int (*interop_export_object)(struct glx_context *ctx,
> -                                mesa_glinterop_export_in *in,
> -                                mesa_glinterop_export_out *out);
> +                                struct mesa_glinterop_export_in *in,
> +                                struct mesa_glinterop_export_out *out);
>  };
>
>  /**
> diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
> index 589a87a..9b73238 100644
> --- a/src/glx/glxcmds.c
> +++ b/src/glx/glxcmds.c
> @@ -2697,7 +2697,7 @@ __glXGetUST(int64_t * ust)
>
>  int
>  MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
> -                                mesa_glinterop_device_info *out)
> +                                struct mesa_glinterop_device_info *out)
>  {
>     struct glx_context *gc = (struct glx_context*)context;
>     int ret;
> @@ -2721,8 +2721,8 @@ MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
>
>  int
>  MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
> -                             mesa_glinterop_export_in *in,
> -                             mesa_glinterop_export_out *out)
> +                             struct mesa_glinterop_export_in *in,
> +                             struct mesa_glinterop_export_out *out)
>  {
>     struct glx_context *gc = (struct glx_context*)context;
>     int ret;
> --
> 2.8.2
>
> _______________________________________________
> 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