[Mesa-dev] [PATCH] egl: clean up typedef madness in the backend API
Marek Olšák
maraeo at gmail.com
Wed Mar 9 14:34:13 UTC 2016
Ping
On Thu, Mar 3, 2016 at 8:35 PM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> let's use the dd.h format
> ---
> src/egl/main/eglapi.h | 280 ++++++++++++++++++++++----------------------
> src/egl/main/eglfallbacks.c | 30 ++---
> 2 files changed, 155 insertions(+), 155 deletions(-)
>
> diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h
> index 6c54c7c..3f6d3c2 100644
> --- a/src/egl/main/eglapi.h
> +++ b/src/egl/main/eglapi.h
> @@ -41,153 +41,153 @@ extern "C" {
> */
> typedef void (*_EGLProc)(void);
>
> -
> -/**
> - * Typedefs for all EGL API entrypoint functions.
> - */
> -
> -/* driver funcs */
> -typedef EGLBoolean (*Initialize_t)(_EGLDriver *, _EGLDisplay *dpy);
> -typedef EGLBoolean (*Terminate_t)(_EGLDriver *, _EGLDisplay *dpy);
> -
> -/* config funcs */
> -typedef EGLBoolean (*GetConfigs_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
> -typedef EGLBoolean (*ChooseConfig_t)(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
> -typedef EGLBoolean (*GetConfigAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, EGLint attribute, EGLint *value);
> -
> -/* context funcs */
> -typedef _EGLContext *(*CreateContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, _EGLContext *share_list, const EGLint *attrib_list);
> -typedef EGLBoolean (*DestroyContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx);
> -/* this is the only function (other than Initialize) that may be called with an uninitialized display */
> -typedef EGLBoolean (*MakeCurrent_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw, _EGLSurface *read, _EGLContext *ctx);
> -typedef EGLBoolean (*QueryContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLint attribute, EGLint *value);
> -
> -/* surface funcs */
> -typedef _EGLSurface *(*CreateWindowSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, void *native_window, const EGLint *attrib_list);
> -typedef _EGLSurface *(*CreatePixmapSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, void *native_pixmap, const EGLint *attrib_list);
> -typedef _EGLSurface *(*CreatePbufferSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, const EGLint *attrib_list);
> -typedef EGLBoolean (*DestroySurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface);
> -typedef EGLBoolean (*QuerySurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint attribute, EGLint *value);
> -typedef EGLBoolean (*SurfaceAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint attribute, EGLint value);
> -typedef EGLBoolean (*BindTexImage_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint buffer);
> -typedef EGLBoolean (*ReleaseTexImage_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint buffer);
> -typedef EGLBoolean (*SwapInterval_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf, EGLint interval);
> -typedef EGLBoolean (*SwapBuffers_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw);
> -typedef EGLBoolean (*CopyBuffers_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, void *native_pixmap_target);
> -
> -/* misc funcs */
> -typedef EGLBoolean (*WaitClient_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx);
> -typedef EGLBoolean (*WaitNative_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLint engine);
> -
> -/* this function may be called from multiple threads at the same time */
> -typedef _EGLProc (*GetProcAddress_t)(_EGLDriver *drv, const char *procname);
> -
> -
> -
> -typedef _EGLSurface *(*CreatePbufferFromClientBuffer_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum buftype, EGLClientBuffer buffer, _EGLConfig *config, const EGLint *attrib_list);
> -
> -
> -typedef _EGLImage *(*CreateImageKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attr_list);
> -typedef EGLBoolean (*DestroyImageKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *image);
> -
> -
> -typedef _EGLSync *(*CreateSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum type, const EGLint *attrib_list, const EGLAttrib *attrib_list64);
> -typedef EGLBoolean (*DestroySyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync);
> -typedef EGLint (*ClientWaitSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint flags, EGLTime timeout);
> -typedef EGLint (*WaitSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync);
> -typedef EGLBoolean (*SignalSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLenum mode);
> -typedef EGLBoolean (*GetSyncAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint attribute, EGLAttrib *value);
> -
> -
> -typedef EGLBoolean (*SwapBuffersRegionNOK_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf, EGLint numRects, const EGLint *rects);
> -
> -typedef _EGLImage *(*CreateDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attr_list);
> -typedef EGLBoolean (*ExportDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *name, EGLint *handle, EGLint *stride);
> -
> struct wl_display;
> -typedef EGLBoolean (*BindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display);
> -typedef EGLBoolean (*UnbindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display);
> -typedef EGLBoolean (*QueryWaylandBufferWL_t)(_EGLDriver *drv, _EGLDisplay *displ, struct wl_resource *buffer, EGLint attribute, EGLint *value);
> -
> -typedef struct wl_buffer * (*CreateWaylandBufferFromImageWL_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img);
> -
> -typedef EGLBoolean (*PostSubBufferNV_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surface, EGLint x, EGLint y, EGLint width, EGLint height);
> -
> -typedef EGLint (*QueryBufferAge_t)(_EGLDriver *drv,
> - _EGLDisplay *dpy, _EGLSurface *surface);
> -
> -typedef EGLBoolean (*SwapBuffersWithDamageEXT_t) (_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, const EGLint *rects, EGLint n_rects);
> -
> -typedef EGLBoolean (*GetSyncValuesCHROMIUM_t) (_EGLDisplay *dpy, _EGLSurface *surface, EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc);
> -
> -typedef EGLBoolean (*ExportDMABUFImageQueryMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers);
> -typedef EGLBoolean (*ExportDMABUFImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fds, EGLint *strides, EGLint *offsets);
>
> /**
> * The API dispatcher jumps through these functions
> */
> struct _egl_api
> {
> - Initialize_t Initialize;
> - Terminate_t Terminate;
> -
> - GetConfigs_t GetConfigs;
> - ChooseConfig_t ChooseConfig;
> - GetConfigAttrib_t GetConfigAttrib;
> -
> - CreateContext_t CreateContext;
> - DestroyContext_t DestroyContext;
> - MakeCurrent_t MakeCurrent;
> - QueryContext_t QueryContext;
> -
> - CreateWindowSurface_t CreateWindowSurface;
> - CreatePixmapSurface_t CreatePixmapSurface;
> - CreatePbufferSurface_t CreatePbufferSurface;
> - DestroySurface_t DestroySurface;
> - QuerySurface_t QuerySurface;
> - SurfaceAttrib_t SurfaceAttrib;
> - BindTexImage_t BindTexImage;
> - ReleaseTexImage_t ReleaseTexImage;
> - SwapInterval_t SwapInterval;
> - SwapBuffers_t SwapBuffers;
> - CopyBuffers_t CopyBuffers;
> -
> - WaitClient_t WaitClient;
> - WaitNative_t WaitNative;
> - GetProcAddress_t GetProcAddress;
> -
> - CreatePbufferFromClientBuffer_t CreatePbufferFromClientBuffer;
> -
> - CreateImageKHR_t CreateImageKHR;
> - DestroyImageKHR_t DestroyImageKHR;
> -
> - CreateSyncKHR_t CreateSyncKHR;
> - DestroySyncKHR_t DestroySyncKHR;
> - ClientWaitSyncKHR_t ClientWaitSyncKHR;
> - WaitSyncKHR_t WaitSyncKHR;
> - SignalSyncKHR_t SignalSyncKHR;
> - GetSyncAttrib_t GetSyncAttrib;
> -
> - SwapBuffersRegionNOK_t SwapBuffersRegionNOK;
> -
> - CreateDRMImageMESA_t CreateDRMImageMESA;
> - ExportDRMImageMESA_t ExportDRMImageMESA;
> -
> - BindWaylandDisplayWL_t BindWaylandDisplayWL;
> - UnbindWaylandDisplayWL_t UnbindWaylandDisplayWL;
> - QueryWaylandBufferWL_t QueryWaylandBufferWL;
> -
> - CreateWaylandBufferFromImageWL_t CreateWaylandBufferFromImageWL;
> -
> - SwapBuffersWithDamageEXT_t SwapBuffersWithDamageEXT;
> -
> - PostSubBufferNV_t PostSubBufferNV;
> -
> - QueryBufferAge_t QueryBufferAge;
> - GetSyncValuesCHROMIUM_t GetSyncValuesCHROMIUM;
> -
> - ExportDMABUFImageQueryMESA_t ExportDMABUFImageQueryMESA;
> - ExportDMABUFImageMESA_t ExportDMABUFImageMESA;
> + /* driver funcs */
> + EGLBoolean (*Initialize)(_EGLDriver *, _EGLDisplay *dpy);
> + EGLBoolean (*Terminate)(_EGLDriver *, _EGLDisplay *dpy);
> +
> + /* config funcs */
> + EGLBoolean (*GetConfigs)(_EGLDriver *drv, _EGLDisplay *dpy,
> + EGLConfig *configs, EGLint config_size,
> + EGLint *num_config);
> + EGLBoolean (*ChooseConfig)(_EGLDriver *drv, _EGLDisplay *dpy,
> + const EGLint *attrib_list, EGLConfig *configs,
> + EGLint config_size, EGLint *num_config);
> + EGLBoolean (*GetConfigAttrib)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLConfig *config, EGLint attribute,
> + EGLint *value);
> +
> + /* context funcs */
> + _EGLContext *(*CreateContext)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLConfig *config, _EGLContext *share_list,
> + const EGLint *attrib_list);
> + EGLBoolean (*DestroyContext)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLContext *ctx);
> + /* this is the only function (other than Initialize) that may be called
> + * with an uninitialized display
> + */
> + EGLBoolean (*MakeCurrent)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *draw, _EGLSurface *read,
> + _EGLContext *ctx);
> + EGLBoolean (*QueryContext)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLContext *ctx, EGLint attribute,
> + EGLint *value);
> +
> + /* surface funcs */
> + _EGLSurface *(*CreateWindowSurface)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLConfig *config, void *native_window,
> + const EGLint *attrib_list);
> + _EGLSurface *(*CreatePixmapSurface)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLConfig *config, void *native_pixmap,
> + const EGLint *attrib_list);
> + _EGLSurface *(*CreatePbufferSurface)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLConfig *config,
> + const EGLint *attrib_list);
> + EGLBoolean (*DestroySurface)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface);
> + EGLBoolean (*QuerySurface)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface, EGLint attribute,
> + EGLint *value);
> + EGLBoolean (*SurfaceAttrib)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface, EGLint attribute,
> + EGLint value);
> + EGLBoolean (*BindTexImage)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface, EGLint buffer);
> + EGLBoolean (*ReleaseTexImage)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface, EGLint buffer);
> + EGLBoolean (*SwapInterval)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surf, EGLint interval);
> + EGLBoolean (*SwapBuffers)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *draw);
> + EGLBoolean (*CopyBuffers)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface, void *native_pixmap_target);
> +
> + /* misc functions */
> + EGLBoolean (*WaitClient)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLContext *ctx);
> + EGLBoolean (*WaitNative)(_EGLDriver *drv, _EGLDisplay *dpy,
> + EGLint engine);
> +
> + /* this function may be called from multiple threads at the same time */
> + _EGLProc (*GetProcAddress)(_EGLDriver *drv, const char *procname);
> +
> + _EGLSurface *(*CreatePbufferFromClientBuffer)(_EGLDriver *drv,
> + _EGLDisplay *dpy,
> + EGLenum buftype,
> + EGLClientBuffer buffer,
> + _EGLConfig *config,
> + const EGLint *attrib_list);
> +
> + _EGLImage *(*CreateImageKHR)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLContext *ctx, EGLenum target,
> + EGLClientBuffer buffer,
> + const EGLint *attr_list);
> + EGLBoolean (*DestroyImageKHR)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLImage *image);
> +
> + _EGLSync *(*CreateSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum type,
> + const EGLint *attrib_list,
> + const EGLAttrib *attrib_list64);
> + EGLBoolean (*DestroySyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSync *sync);
> + EGLint (*ClientWaitSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSync *sync, EGLint flags, EGLTime timeout);
> + EGLint (*WaitSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync);
> + EGLBoolean (*SignalSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSync *sync, EGLenum mode);
> + EGLBoolean (*GetSyncAttrib)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSync *sync, EGLint attribute,
> + EGLAttrib *value);
> +
> + EGLBoolean (*SwapBuffersRegionNOK)(_EGLDriver *drv, _EGLDisplay *disp,
> + _EGLSurface *surf, EGLint numRects,
> + const EGLint *rects);
> +
> + _EGLImage *(*CreateDRMImageMESA)(_EGLDriver *drv, _EGLDisplay *disp,
> + const EGLint *attr_list);
> + EGLBoolean (*ExportDRMImageMESA)(_EGLDriver *drv, _EGLDisplay *disp,
> + _EGLImage *img, EGLint *name,
> + EGLint *handle, EGLint *stride);
> +
> + EGLBoolean (*BindWaylandDisplayWL)(_EGLDriver *drv, _EGLDisplay *disp,
> + struct wl_display *display);
> + EGLBoolean (*UnbindWaylandDisplayWL)(_EGLDriver *drv, _EGLDisplay *disp,
> + struct wl_display *display);
> + EGLBoolean (*QueryWaylandBufferWL)(_EGLDriver *drv, _EGLDisplay *displ,
> + struct wl_resource *buffer,
> + EGLint attribute, EGLint *value);
> +
> + struct wl_buffer *(*CreateWaylandBufferFromImageWL)(_EGLDriver *drv,
> + _EGLDisplay *disp,
> + _EGLImage *img);
> +
> + EGLBoolean (*SwapBuffersWithDamageEXT)(_EGLDriver *drv, _EGLDisplay *dpy,
> + _EGLSurface *surface,
> + const EGLint *rects, EGLint n_rects);
> +
> + EGLBoolean (*PostSubBufferNV)(_EGLDriver *drv, _EGLDisplay *disp,
> + _EGLSurface *surface, EGLint x, EGLint y,
> + EGLint width, EGLint height);
> +
> + EGLint (*QueryBufferAge)(_EGLDriver *drv,
> + _EGLDisplay *dpy, _EGLSurface *surface);
> + EGLBoolean (*GetSyncValuesCHROMIUM)(_EGLDisplay *dpy, _EGLSurface *surface,
> + EGLuint64KHR *ust, EGLuint64KHR *msc,
> + EGLuint64KHR *sbc);
> +
> + EGLBoolean (*ExportDMABUFImageQueryMESA)(_EGLDriver *drv, _EGLDisplay *disp,
> + _EGLImage *img, EGLint *fourcc,
> + EGLint *nplanes,
> + EGLuint64KHR *modifiers);
> + EGLBoolean (*ExportDMABUFImageMESA)(_EGLDriver *drv, _EGLDisplay *disp,
> + _EGLImage *img, EGLint *fds,
> + EGLint *strides, EGLint *offsets);
> };
>
>
> diff --git a/src/egl/main/eglfallbacks.c b/src/egl/main/eglfallbacks.c
> index 65daf8f..d0fce8c 100644
> --- a/src/egl/main/eglfallbacks.c
> +++ b/src/egl/main/eglfallbacks.c
> @@ -59,29 +59,29 @@ _eglInitDriverFallbacks(_EGLDriver *drv)
> drv->API.ChooseConfig = _eglChooseConfig;
> drv->API.GetConfigAttrib = _eglGetConfigAttrib;
>
> - drv->API.CreateContext = (CreateContext_t) _eglReturnFalse;
> - drv->API.DestroyContext = (DestroyContext_t) _eglReturnFalse;
> - drv->API.MakeCurrent = (MakeCurrent_t) _eglReturnFalse;
> + drv->API.CreateContext = (void*) _eglReturnFalse;
> + drv->API.DestroyContext = (void*) _eglReturnFalse;
> + drv->API.MakeCurrent = (void*) _eglReturnFalse;
> drv->API.QueryContext = _eglQueryContext;
>
> - drv->API.CreateWindowSurface = (CreateWindowSurface_t) _eglReturnFalse;
> - drv->API.CreatePixmapSurface = (CreatePixmapSurface_t) _eglReturnFalse;
> - drv->API.CreatePbufferSurface = (CreatePbufferSurface_t) _eglReturnFalse;
> + drv->API.CreateWindowSurface = (void*) _eglReturnFalse;
> + drv->API.CreatePixmapSurface = (void*) _eglReturnFalse;
> + drv->API.CreatePbufferSurface = (void*) _eglReturnFalse;
> drv->API.CreatePbufferFromClientBuffer =
> - (CreatePbufferFromClientBuffer_t) _eglReturnFalse;
> - drv->API.DestroySurface = (DestroySurface_t) _eglReturnFalse;
> + (void*) _eglReturnFalse;
> + drv->API.DestroySurface = (void*) _eglReturnFalse;
> drv->API.QuerySurface = _eglQuerySurface;
> drv->API.SurfaceAttrib = _eglSurfaceAttrib;
>
> - drv->API.BindTexImage = (BindTexImage_t) _eglReturnFalse;
> - drv->API.ReleaseTexImage = (ReleaseTexImage_t) _eglReturnFalse;
> - drv->API.CopyBuffers = (CopyBuffers_t) _eglReturnFalse;
> - drv->API.SwapBuffers = (SwapBuffers_t) _eglReturnFalse;
> + drv->API.BindTexImage = (void*) _eglReturnFalse;
> + drv->API.ReleaseTexImage = (void*) _eglReturnFalse;
> + drv->API.CopyBuffers = (void*) _eglReturnFalse;
> + drv->API.SwapBuffers = (void*) _eglReturnFalse;
> drv->API.SwapInterval = _eglSwapInterval;
>
> - drv->API.WaitClient = (WaitClient_t) _eglReturnFalse;
> - drv->API.WaitNative = (WaitNative_t) _eglReturnFalse;
> - drv->API.GetProcAddress = (GetProcAddress_t) _eglReturnFalse;
> + drv->API.WaitClient = (void*) _eglReturnFalse;
> + drv->API.WaitNative = (void*) _eglReturnFalse;
> + drv->API.GetProcAddress = (void*) _eglReturnFalse;
>
> drv->API.CreateImageKHR = NULL;
> drv->API.DestroyImageKHR = NULL;
> --
> 2.5.0
>
More information about the mesa-dev
mailing list