1 /**************************************************************************
3 * Copyright 2010 LunarG, Inc.
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sub license, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 * DEALINGS IN THE SOFTWARE.
26 **************************************************************************/
30 #include "egltypedefs.h"
31 #include "egldriver.h"
32 #include "eglconfig.h"
33 #include "eglcontext.h"
34 #include "eglsurface.h"
46 * Plug all the available fallback routines into the given driver's
50 _eglInitDriverFallbacks(_EGLDriver
*drv
)
52 memset(&drv
->API
, 0, sizeof(drv
->API
));
54 /* the driver has to implement these */
55 drv
->API
.Initialize
= NULL
;
56 drv
->API
.Terminate
= NULL
;
58 drv
->API
.GetConfigs
= _eglGetConfigs
;
59 drv
->API
.ChooseConfig
= _eglChooseConfig
;
60 drv
->API
.GetConfigAttrib
= _eglGetConfigAttrib
;
62 drv
->API
.CreateContext
= (CreateContext_t
) _eglReturnFalse
;
63 drv
->API
.DestroyContext
= (DestroyContext_t
) _eglReturnFalse
;
64 drv
->API
.MakeCurrent
= (MakeCurrent_t
) _eglReturnFalse
;
65 drv
->API
.QueryContext
= _eglQueryContext
;
67 drv
->API
.CreateWindowSurface
= (CreateWindowSurface_t
) _eglReturnFalse
;
68 drv
->API
.CreatePixmapSurface
= (CreatePixmapSurface_t
) _eglReturnFalse
;
69 drv
->API
.CreatePbufferSurface
= (CreatePbufferSurface_t
) _eglReturnFalse
;
70 drv
->API
.CreatePbufferFromClientBuffer
=
71 (CreatePbufferFromClientBuffer_t
) _eglReturnFalse
;
72 drv
->API
.DestroySurface
= (DestroySurface_t
) _eglReturnFalse
;
73 drv
->API
.QuerySurface
= _eglQuerySurface
;
74 drv
->API
.SurfaceAttrib
= _eglSurfaceAttrib
;
76 drv
->API
.BindTexImage
= (BindTexImage_t
) _eglReturnFalse
;
77 drv
->API
.ReleaseTexImage
= (ReleaseTexImage_t
) _eglReturnFalse
;
78 drv
->API
.CopyBuffers
= (CopyBuffers_t
) _eglReturnFalse
;
79 drv
->API
.SwapBuffers
= (SwapBuffers_t
) _eglReturnFalse
;
80 drv
->API
.SwapInterval
= _eglSwapInterval
;
82 drv
->API
.WaitClient
= (WaitClient_t
) _eglReturnFalse
;
83 drv
->API
.WaitNative
= (WaitNative_t
) _eglReturnFalse
;
84 drv
->API
.GetProcAddress
= (GetProcAddress_t
) _eglReturnFalse
;
86 drv
->API
.CreateImageKHR
= NULL
;
87 drv
->API
.DestroyImageKHR
= NULL
;
89 drv
->API
.CreateSyncKHR
= NULL
;
90 drv
->API
.DestroySyncKHR
= NULL
;
91 drv
->API
.ClientWaitSyncKHR
= NULL
;
92 drv
->API
.WaitSyncKHR
= NULL
;
93 drv
->API
.SignalSyncKHR
= NULL
;
94 drv
->API
.GetSyncAttrib
= _eglGetSyncAttrib
;
96 drv
->API
.CreateDRMImageMESA
= NULL
;
97 drv
->API
.ExportDRMImageMESA
= NULL
;
99 drv
->API
.SwapBuffersRegionNOK
= NULL
;
101 drv
->API
.ExportDMABUFImageQueryMESA
= NULL
;
102 drv
->API
.ExportDMABUFImageMESA
= NULL
;