2 #include "egltypedefs.h"
5 #include "eglcontext.h"
6 #include "eglsurface.h"
21 * Plug all the available fallback routines into the given driver's
25 _eglInitDriverFallbacks(_EGLDriver
*drv
)
27 memset(&drv
->API
, 0, sizeof(drv
->API
));
29 /* the driver has to implement these */
30 drv
->API
.Initialize
= NULL
;
31 drv
->API
.Terminate
= NULL
;
33 drv
->API
.GetConfigs
= _eglGetConfigs
;
34 drv
->API
.ChooseConfig
= _eglChooseConfig
;
35 drv
->API
.GetConfigAttrib
= _eglGetConfigAttrib
;
37 drv
->API
.CreateContext
= (CreateContext_t
) _eglReturnFalse
;
38 drv
->API
.DestroyContext
= (DestroyContext_t
) _eglReturnFalse
;
39 drv
->API
.MakeCurrent
= (MakeCurrent_t
) _eglReturnFalse
;
40 drv
->API
.QueryContext
= _eglQueryContext
;
42 drv
->API
.CreateWindowSurface
= (CreateWindowSurface_t
) _eglReturnFalse
;
43 drv
->API
.CreatePixmapSurface
= (CreatePixmapSurface_t
) _eglReturnFalse
;
44 drv
->API
.CreatePbufferSurface
= (CreatePbufferSurface_t
) _eglReturnFalse
;
45 drv
->API
.CreatePbufferFromClientBuffer
=
46 (CreatePbufferFromClientBuffer_t
) _eglReturnFalse
;
47 drv
->API
.DestroySurface
= (DestroySurface_t
) _eglReturnFalse
;
48 drv
->API
.QuerySurface
= _eglQuerySurface
;
49 drv
->API
.SurfaceAttrib
= _eglSurfaceAttrib
;
51 drv
->API
.BindTexImage
= (BindTexImage_t
) _eglReturnFalse
;
52 drv
->API
.ReleaseTexImage
= (ReleaseTexImage_t
) _eglReturnFalse
;
53 drv
->API
.CopyBuffers
= (CopyBuffers_t
) _eglReturnFalse
;
54 drv
->API
.SwapBuffers
= (SwapBuffers_t
) _eglReturnFalse
;
55 drv
->API
.SwapInterval
= _eglSwapInterval
;
57 drv
->API
.WaitClient
= (WaitClient_t
) _eglReturnFalse
;
58 drv
->API
.WaitNative
= (WaitNative_t
) _eglReturnFalse
;
59 drv
->API
.GetProcAddress
= (GetProcAddress_t
) _eglReturnFalse
;
60 drv
->API
.QueryString
= _eglQueryString
;
62 #ifdef EGL_MESA_screen_surface
63 drv
->API
.CopyContextMESA
= (CopyContextMESA_t
) _eglReturnFalse
;
64 drv
->API
.CreateScreenSurfaceMESA
=
65 (CreateScreenSurfaceMESA_t
) _eglReturnFalse
;
66 drv
->API
.ShowScreenSurfaceMESA
= (ShowScreenSurfaceMESA_t
) _eglReturnFalse
;
67 drv
->API
.ChooseModeMESA
= _eglChooseModeMESA
;
68 drv
->API
.GetModesMESA
= _eglGetModesMESA
;
69 drv
->API
.GetModeAttribMESA
= _eglGetModeAttribMESA
;
70 drv
->API
.GetScreensMESA
= _eglGetScreensMESA
;
71 drv
->API
.ScreenPositionMESA
= _eglScreenPositionMESA
;
72 drv
->API
.QueryScreenMESA
= _eglQueryScreenMESA
;
73 drv
->API
.QueryScreenSurfaceMESA
= _eglQueryScreenSurfaceMESA
;
74 drv
->API
.QueryScreenModeMESA
= _eglQueryScreenModeMESA
;
75 drv
->API
.QueryModeStringMESA
= _eglQueryModeStringMESA
;
76 #endif /* EGL_MESA_screen_surface */
78 #ifdef EGL_KHR_image_base
79 drv
->API
.CreateImageKHR
= NULL
;
80 drv
->API
.DestroyImageKHR
= NULL
;
81 #endif /* EGL_KHR_image_base */
83 #ifdef EGL_KHR_reusable_sync
84 drv
->API
.CreateSyncKHR
= NULL
;
85 drv
->API
.DestroySyncKHR
= NULL
;
86 drv
->API
.ClientWaitSyncKHR
= NULL
;
87 drv
->API
.SignalSyncKHR
= NULL
;
88 drv
->API
.GetSyncAttribKHR
= _eglGetSyncAttribKHR
;
89 #endif /* EGL_KHR_reusable_sync */
91 #ifdef EGL_MESA_drm_image
92 drv
->API
.CreateDRMImageMESA
= NULL
;
93 drv
->API
.ExportDRMImageMESA
= NULL
;
96 #ifdef EGL_NOK_swap_region
97 drv
->API
.SwapBuffersRegionNOK
= NULL
;