egl: Convert drivers to use typecast macros.
Use macros to define the standard typecasts. This saves lots of typings.
This commit is contained in:
parent
bdb9e202de
commit
9a3de505dc
|
@ -116,35 +116,14 @@ struct GLX_egl_config
|
|||
int index;
|
||||
};
|
||||
|
||||
/** cast wrapper */
|
||||
static struct GLX_egl_driver *
|
||||
GLX_egl_driver(_EGLDriver *drv)
|
||||
{
|
||||
return (struct GLX_egl_driver *) drv;
|
||||
}
|
||||
|
||||
static struct GLX_egl_display *
|
||||
GLX_egl_display(_EGLDisplay *dpy)
|
||||
{
|
||||
return (struct GLX_egl_display *) dpy->DriverData;
|
||||
}
|
||||
|
||||
static struct GLX_egl_context *
|
||||
GLX_egl_context(_EGLContext *ctx)
|
||||
{
|
||||
return (struct GLX_egl_context *) ctx;
|
||||
}
|
||||
|
||||
static struct GLX_egl_surface *
|
||||
GLX_egl_surface(_EGLSurface *surf)
|
||||
{
|
||||
return (struct GLX_egl_surface *) surf;
|
||||
}
|
||||
/* standard typecasts */
|
||||
_EGL_DRIVER_STANDARD_TYPECASTS(GLX_egl)
|
||||
|
||||
static int
|
||||
GLX_egl_config_index(_EGLConfig *conf)
|
||||
{
|
||||
return ((struct GLX_egl_config *) conf)->index;
|
||||
struct GLX_egl_config *GLX_conf = GLX_egl_config(conf);
|
||||
return GLX_conf->index;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -112,43 +112,13 @@ struct xdri_egl_config
|
|||
|
||||
|
||||
|
||||
/** cast wrapper */
|
||||
static INLINE struct xdri_egl_driver *
|
||||
xdri_egl_driver(_EGLDriver *drv)
|
||||
{
|
||||
return (struct xdri_egl_driver *) drv;
|
||||
}
|
||||
/* standard typecasts */
|
||||
_EGL_DRIVER_STANDARD_TYPECASTS(xdri_egl)
|
||||
|
||||
|
||||
static INLINE struct xdri_egl_display *
|
||||
lookup_display(_EGLDisplay *dpy)
|
||||
{
|
||||
return (struct xdri_egl_display *) dpy->DriverData;
|
||||
}
|
||||
|
||||
|
||||
/** Map EGLSurface handle to xdri_egl_surface object */
|
||||
static INLINE struct xdri_egl_surface *
|
||||
lookup_surface(_EGLSurface *surface)
|
||||
{
|
||||
return (struct xdri_egl_surface *) surface;
|
||||
}
|
||||
|
||||
|
||||
/** Map EGLContext handle to xdri_egl_context object */
|
||||
static INLINE struct xdri_egl_context *
|
||||
lookup_context(_EGLContext *context)
|
||||
{
|
||||
return (struct xdri_egl_context *) context;
|
||||
}
|
||||
|
||||
|
||||
/** Map EGLConfig handle to xdri_egl_config object */
|
||||
static INLINE struct xdri_egl_config *
|
||||
lookup_config(_EGLConfig *conf)
|
||||
{
|
||||
return (struct xdri_egl_config *) conf;
|
||||
}
|
||||
#define lookup_display(dpy) xdri_egl_display(dpy)
|
||||
#define lookup_context(ctx) xdri_egl_context(ctx)
|
||||
#define lookup_surface(surf) xdri_egl_surface(surf)
|
||||
#define lookup_config(conf) xdri_egl_config(conf)
|
||||
|
||||
|
||||
/** Get size of given window */
|
||||
|
|
|
@ -87,41 +87,8 @@ struct egl_g3d_screen {
|
|||
const struct native_mode **native_modes;
|
||||
};
|
||||
|
||||
static INLINE struct egl_g3d_driver *
|
||||
egl_g3d_driver(_EGLDriver *drv)
|
||||
{
|
||||
return (struct egl_g3d_driver *) drv;
|
||||
}
|
||||
|
||||
static INLINE struct egl_g3d_display *
|
||||
egl_g3d_display(_EGLDisplay *dpy)
|
||||
{
|
||||
/* note that it is not direct casting */
|
||||
return (struct egl_g3d_display *) dpy->DriverData;
|
||||
}
|
||||
|
||||
static INLINE struct egl_g3d_context *
|
||||
egl_g3d_context(_EGLContext *ctx)
|
||||
{
|
||||
return (struct egl_g3d_context *) ctx;
|
||||
}
|
||||
|
||||
static INLINE struct egl_g3d_surface *
|
||||
egl_g3d_surface(_EGLSurface *surf)
|
||||
{
|
||||
return (struct egl_g3d_surface *) surf;
|
||||
}
|
||||
|
||||
static INLINE struct egl_g3d_config *
|
||||
egl_g3d_config(_EGLConfig *conf)
|
||||
{
|
||||
return (struct egl_g3d_config *) conf;
|
||||
}
|
||||
|
||||
static INLINE struct egl_g3d_screen *
|
||||
egl_g3d_screen(_EGLScreen *scr)
|
||||
{
|
||||
return (struct egl_g3d_screen *) scr;
|
||||
}
|
||||
/* standard typecasts */
|
||||
_EGL_DRIVER_STANDARD_TYPECASTS(egl_g3d)
|
||||
_EGL_DRIVER_TYPECAST(egl_g3d_screen, _EGLScreen, obj)
|
||||
|
||||
#endif /* _EGL_G3D_H_ */
|
||||
|
|
Loading…
Reference in New Issue