• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 #ifndef _EGL_DISPATCH_H
17 #define _EGL_DISPATCH_H
18 
19 #include "egl_proc.h"
20 
21 struct EGLDispatch {
22     eglGetError_t eglGetError;
23     eglGetDisplay_t eglGetDisplay;
24     eglInitialize_t eglInitialize;
25     eglTerminate_t eglTerminate;
26     eglQueryString_t eglQueryString;
27     eglGetConfigs_t eglGetConfigs;
28     eglChooseConfig_t eglChooseConfig;
29     eglGetConfigAttrib_t eglGetConfigAttrib;
30     eglCreateWindowSurface_t eglCreateWindowSurface;
31     eglCreatePbufferSurface_t eglCreatePbufferSurface;
32     eglCreatePixmapSurface_t eglCreatePixmapSurface;
33     eglDestroySurface_t eglDestroySurface;
34     eglQuerySurface_t eglQuerySurface;
35     eglBindAPI_t eglBindAPI;
36     eglQueryAPI_t eglQueryAPI;
37     eglWaitClient_t eglWaitClient;
38     eglReleaseThread_t eglReleaseThread;
39     eglCreatePbufferFromClientBuffer_t eglCreatePbufferFromClientBuffer;
40     eglSurfaceAttrib_t eglSurfaceAttrib;
41     eglBindTexImage_t eglBindTexImage;
42     eglReleaseTexImage_t eglReleaseTexImage;
43     eglSwapInterval_t eglSwapInterval;
44     eglCreateContext_t eglCreateContext;
45     eglDestroyContext_t eglDestroyContext;
46     eglMakeCurrent_t eglMakeCurrent;
47     eglGetCurrentContext_t eglGetCurrentContext;
48     eglGetCurrentSurface_t eglGetCurrentSurface;
49     eglGetCurrentDisplay_t eglGetCurrentDisplay;
50     eglQueryContext_t eglQueryContext;
51     eglWaitGL_t eglWaitGL;
52     eglWaitNative_t eglWaitNative;
53     eglSwapBuffers_t eglSwapBuffers;
54     eglCopyBuffers_t eglCopyBuffers;
55     eglGetProcAddress_t eglGetProcAddress;
56     eglLockSurfaceKHR_t eglLockSurfaceKHR;
57     eglUnlockSurfaceKHR_t eglUnlockSurfaceKHR;
58     eglCreateImageKHR_t eglCreateImageKHR;
59     eglDestroyImageKHR_t eglDestroyImageKHR;
60     eglCreateSyncKHR_t eglCreateSyncKHR;
61     eglDestroySyncKHR_t eglDestroySyncKHR;
62     eglClientWaitSyncKHR_t eglClientWaitSyncKHR;
63     eglSignalSyncKHR_t eglSignalSyncKHR;
64     eglGetSyncAttribKHR_t eglGetSyncAttribKHR;
65     eglSetSwapRectangleANDROID_t eglSetSwapRectangleANDROID;
66 };
67 
68 bool init_egl_dispatch();
69 
70 extern EGLDispatch s_egl;
71 
72 #endif
73