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
= (void*) _eglReturnFalse
;
63 drv
->API
.DestroyContext
= (void*) _eglReturnFalse
;
64 drv
->API
.MakeCurrent
= (void*) _eglReturnFalse
;
65 drv
->API
.QueryContext
= _eglQueryContext
;
67 drv
->API
.CreateWindowSurface
= (void*) _eglReturnFalse
;
68 drv
->API
.CreatePixmapSurface
= (void*) _eglReturnFalse
;
69 drv
->API
.CreatePbufferSurface
= (void*) _eglReturnFalse
;
70 drv
->API
.CreatePbufferFromClientBuffer
=
71 (void*) _eglReturnFalse
;
72 drv
->API
.DestroySurface
= (void*) _eglReturnFalse
;
73 drv
->API
.QuerySurface
= _eglQuerySurface
;
74 drv
->API
.SurfaceAttrib
= _eglSurfaceAttrib
;
76 drv
->API
.BindTexImage
= (void*) _eglReturnFalse
;
77 drv
->API
.ReleaseTexImage
= (void*) _eglReturnFalse
;
78 drv
->API
.CopyBuffers
= (void*) _eglReturnFalse
;
79 drv
->API
.SwapBuffers
= (void*) _eglReturnFalse
;
80 drv
->API
.SetDamageRegion
= (void*) _eglReturnFalse
;
81 drv
->API
.SwapInterval
= _eglSwapInterval
;
83 drv
->API
.WaitClient
= (void*) _eglReturnFalse
;
84 drv
->API
.WaitNative
= (void*) _eglReturnFalse
;
85 drv
->API
.GetProcAddress
= (void*) _eglReturnFalse
;
87 drv
->API
.CreateImageKHR
= NULL
;
88 drv
->API
.DestroyImageKHR
= NULL
;
90 drv
->API
.CreateSyncKHR
= NULL
;
91 drv
->API
.DestroySyncKHR
= NULL
;
92 drv
->API
.ClientWaitSyncKHR
= NULL
;
93 drv
->API
.WaitSyncKHR
= NULL
;
94 drv
->API
.SignalSyncKHR
= NULL
;
95 drv
->API
.GetSyncAttrib
= _eglGetSyncAttrib
;
96 drv
->API
.DupNativeFenceFDANDROID
= NULL
;
98 drv
->API
.CreateDRMImageMESA
= NULL
;
99 drv
->API
.ExportDRMImageMESA
= NULL
;
101 drv
->API
.SwapBuffersRegionNOK
= NULL
;
103 drv
->API
.ExportDMABUFImageQueryMESA
= NULL
;
104 drv
->API
.ExportDMABUFImageMESA
= NULL
;