egl: drop unused _EGLDriver from Initialize()
[mesa.git] / src / egl / drivers / haiku / egl_haiku.cpp
index 52ab9dc7a7e58487b67cfcd1942c09e39d129ca1..ac598827c5f01c21c9b82004b874d4773388c652 100644 (file)
@@ -76,7 +76,7 @@ struct haiku_egl_surface
  * Called via eglCreateWindowSurface(), drv->CreateWindowSurface().
  */
 static _EGLSurface *
-haiku_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
+haiku_create_window_surface(const _EGLDriver *drv, _EGLDisplay *disp,
        _EGLConfig *conf, void *native_window, const EGLint *attrib_list)
 {
        CALLED();
@@ -113,7 +113,7 @@ haiku_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
 
 
 static _EGLSurface *
-haiku_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp,
+haiku_create_pixmap_surface(const _EGLDriver *drv, _EGLDisplay *disp,
        _EGLConfig *conf, void *native_pixmap, const EGLint *attrib_list)
 {
        return NULL;
@@ -121,7 +121,7 @@ haiku_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp,
 
 
 static _EGLSurface *
-haiku_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *disp,
+haiku_create_pbuffer_surface(const _EGLDriver *drv, _EGLDisplay *disp,
        _EGLConfig *conf, const EGLint *attrib_list)
 {
        return NULL;
@@ -129,7 +129,7 @@ haiku_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *disp,
 
 
 static EGLBoolean
-haiku_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
+haiku_destroy_surface(const _EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
 {
        if (_eglPutSurface(surf)) {
                // XXX: detach haiku_egl_surface::gl from the native window and destroy it
@@ -205,7 +205,7 @@ cleanup:
 
 extern "C"
 EGLBoolean
-init_haiku(_EGLDriver *drv, _EGLDisplay *disp)
+init_haiku(_EGLDisplay *disp)
 {
        _EGLDevice *dev;
        CALLED();
@@ -221,8 +221,6 @@ init_haiku(_EGLDriver *drv, _EGLDisplay *disp)
        if (!haiku_add_configs_for_visuals(disp))
                return EGL_FALSE;
 
-       disp->Version = 14;
-
        TRACE("Initialization finished\n");
 
        return EGL_TRUE;
@@ -231,7 +229,7 @@ init_haiku(_EGLDriver *drv, _EGLDisplay *disp)
 
 extern "C"
 EGLBoolean
-haiku_terminate(_EGLDriver* drv,_EGLDisplay *disp)
+haiku_terminate(const _EGLDriver* drv,_EGLDisplay *disp)
 {
        return EGL_TRUE;
 }
@@ -239,7 +237,7 @@ haiku_terminate(_EGLDriver* drv,_EGLDisplay *disp)
 
 extern "C"
 _EGLContext*
-haiku_create_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
+haiku_create_context(const _EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
        _EGLContext *share_list, const EGLint *attrib_list)
 {
        CALLED();
@@ -265,7 +263,7 @@ cleanup:
 
 extern "C"
 EGLBoolean
-haiku_destroy_context(_EGLDriver* drv, _EGLDisplay *disp, _EGLContext* ctx)
+haiku_destroy_context(const _EGLDriver* drv, _EGLDisplay *disp, _EGLContext* ctx)
 {
        struct haiku_egl_context* context = haiku_egl_context(ctx);
 
@@ -280,7 +278,7 @@ haiku_destroy_context(_EGLDriver* drv, _EGLDisplay *disp, _EGLContext* ctx)
 
 extern "C"
 EGLBoolean
-haiku_make_current(_EGLDriver* drv, _EGLDisplay *disp, _EGLSurface *dsurf,
+haiku_make_current(const _EGLDriver* drv, _EGLDisplay *disp, _EGLSurface *dsurf,
        _EGLSurface *rsurf, _EGLContext *ctx)
 {
        CALLED();
@@ -301,7 +299,7 @@ haiku_make_current(_EGLDriver* drv, _EGLDisplay *disp, _EGLSurface *dsurf,
 
 extern "C"
 EGLBoolean
-haiku_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
+haiku_swap_buffers(const _EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
 {
        struct haiku_egl_surface* surface = haiku_egl_surface(surf);
 
@@ -311,27 +309,16 @@ haiku_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
 }
 
 
-/**
- * This is the main entrypoint into the driver, called by libEGL.
- * Gets an _EGLDriver object and init its dispatch table.
- */
 extern "C"
-void
-_eglInitDriver(_EGLDriver *driver)
-{
-       CALLED();
-
-       driver->Initialize = init_haiku;
-       driver->Terminate = haiku_terminate;
-       driver->CreateContext = haiku_create_context;
-       driver->DestroyContext = haiku_destroy_context;
-       driver->MakeCurrent = haiku_make_current;
-       driver->CreateWindowSurface = haiku_create_window_surface;
-       driver->CreatePixmapSurface = haiku_create_pixmap_surface;
-       driver->CreatePbufferSurface = haiku_create_pbuffer_surface;
-       driver->DestroySurface = haiku_destroy_surface;
-
-       driver->SwapBuffers = haiku_swap_buffers;
-
-       TRACE("API Calls defined\n");
-}
+const _EGLDriver _eglDriver = {
+       .Initialize = init_haiku,
+       .Terminate = haiku_terminate,
+       .CreateContext = haiku_create_context,
+       .DestroyContext = haiku_destroy_context,
+       .MakeCurrent = haiku_make_current,
+       .CreateWindowSurface = haiku_create_window_surface,
+       .CreatePixmapSurface = haiku_create_pixmap_surface,
+       .CreatePbufferSurface = haiku_create_pbuffer_surface,
+       .DestroySurface = haiku_destroy_surface,
+       .SwapBuffers = haiku_swap_buffers,
+};