OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // This file is auto-generated from | 5 // This file is auto-generated from |
6 // ui/gl/generate_bindings.py | 6 // ui/gl/generate_bindings.py |
7 // It's formatted by clang-format using chromium coding style: | 7 // It's formatted by clang-format using chromium coding style: |
8 // clang-format -i -style=chromium filename | 8 // clang-format -i -style=chromium filename |
9 // DO NOT EDIT! | 9 // DO NOT EDIT! |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 | 12 |
13 #include "base/debug/trace_event.h" | 13 #include "base/debug/trace_event.h" |
14 #include "ui/gl/gl_bindings.h" | 14 #include "ui/gl/gl_bindings.h" |
15 #include "ui/gl/gl_context.h" | 15 #include "ui/gl/gl_context.h" |
16 #include "ui/gl/gl_egl_api_implementation.h" | 16 #include "ui/gl/gl_egl_api_implementation.h" |
17 #include "ui/gl/gl_enums.h" | 17 #include "ui/gl/gl_enums.h" |
18 #include "ui/gl/gl_implementation.h" | 18 #include "ui/gl/gl_implementation.h" |
19 #include "ui/gl/gl_version_info.h" | 19 #include "ui/gl/gl_version_info.h" |
20 | 20 |
21 namespace gfx { | 21 namespace gfx { |
22 | 22 |
23 static bool g_debugBindingsInitialized; | 23 static bool g_debugBindingsInitialized; |
24 DriverEGL g_driver_egl; | 24 DriverEGL g_driver_egl; |
25 | 25 |
| 26 EGLint eglClientWaitSyncKHRNotBound(EGLDisplay dpy, |
| 27 EGLSyncKHR sync, |
| 28 EGLint flags, |
| 29 EGLTimeKHR timeout) { |
| 30 NOTREACHED(); |
| 31 return 0; |
| 32 } |
| 33 EGLImageKHR eglCreateImageKHRNotBound(EGLDisplay dpy, |
| 34 EGLContext ctx, |
| 35 EGLenum target, |
| 36 EGLClientBuffer buffer, |
| 37 const EGLint* attrib_list) { |
| 38 NOTREACHED(); |
| 39 return 0; |
| 40 } |
| 41 EGLSyncKHR eglCreateSyncKHRNotBound(EGLDisplay dpy, |
| 42 EGLenum type, |
| 43 const EGLint* attrib_list) { |
| 44 NOTREACHED(); |
| 45 return 0; |
| 46 } |
| 47 EGLBoolean eglDestroyImageKHRNotBound(EGLDisplay dpy, EGLImageKHR image) { |
| 48 NOTREACHED(); |
| 49 return 0; |
| 50 } |
| 51 EGLBoolean eglDestroySyncKHRNotBound(EGLDisplay dpy, EGLSyncKHR sync) { |
| 52 NOTREACHED(); |
| 53 return 0; |
| 54 } |
| 55 EGLDisplay eglGetPlatformDisplayEXTNotBound(EGLenum platform, |
| 56 void* native_display, |
| 57 const EGLint* attrib_list) { |
| 58 NOTREACHED(); |
| 59 return 0; |
| 60 } |
| 61 EGLBoolean eglGetSyncAttribKHRNotBound(EGLDisplay dpy, |
| 62 EGLSyncKHR sync, |
| 63 EGLint attribute, |
| 64 EGLint* value) { |
| 65 NOTREACHED(); |
| 66 return 0; |
| 67 } |
| 68 EGLBoolean eglGetSyncValuesCHROMIUMNotBound(EGLDisplay dpy, |
| 69 EGLSurface surface, |
| 70 EGLuint64CHROMIUM* ust, |
| 71 EGLuint64CHROMIUM* msc, |
| 72 EGLuint64CHROMIUM* sbc) { |
| 73 NOTREACHED(); |
| 74 return 0; |
| 75 } |
| 76 EGLBoolean eglPostSubBufferNVNotBound(EGLDisplay dpy, |
| 77 EGLSurface surface, |
| 78 EGLint x, |
| 79 EGLint y, |
| 80 EGLint width, |
| 81 EGLint height) { |
| 82 NOTREACHED(); |
| 83 return 0; |
| 84 } |
| 85 EGLBoolean eglQuerySurfacePointerANGLENotBound(EGLDisplay dpy, |
| 86 EGLSurface surface, |
| 87 EGLint attribute, |
| 88 void** value) { |
| 89 NOTREACHED(); |
| 90 return 0; |
| 91 } |
| 92 EGLint eglWaitSyncKHRNotBound(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags) { |
| 93 NOTREACHED(); |
| 94 return 0; |
| 95 } |
| 96 |
26 void DriverEGL::InitializeStaticBindings() { | 97 void DriverEGL::InitializeStaticBindings() { |
27 fn.eglBindAPIFn = | 98 fn.eglBindAPIFn = |
28 reinterpret_cast<eglBindAPIProc>(GetGLProcAddress("eglBindAPI")); | 99 reinterpret_cast<eglBindAPIProc>(GetGLProcAddress("eglBindAPI")); |
29 fn.eglBindTexImageFn = reinterpret_cast<eglBindTexImageProc>( | 100 fn.eglBindTexImageFn = reinterpret_cast<eglBindTexImageProc>( |
30 GetGLProcAddress("eglBindTexImage")); | 101 GetGLProcAddress("eglBindTexImage")); |
31 fn.eglChooseConfigFn = reinterpret_cast<eglChooseConfigProc>( | 102 fn.eglChooseConfigFn = reinterpret_cast<eglChooseConfigProc>( |
32 GetGLProcAddress("eglChooseConfig")); | 103 GetGLProcAddress("eglChooseConfig")); |
33 fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>( | 104 fn.eglClientWaitSyncKHRFn = |
34 GetGLProcAddress("eglClientWaitSyncKHR")); | 105 reinterpret_cast<eglClientWaitSyncKHRProc>(eglClientWaitSyncKHRNotBound); |
35 fn.eglCopyBuffersFn = | 106 fn.eglCopyBuffersFn = |
36 reinterpret_cast<eglCopyBuffersProc>(GetGLProcAddress("eglCopyBuffers")); | 107 reinterpret_cast<eglCopyBuffersProc>(GetGLProcAddress("eglCopyBuffers")); |
37 fn.eglCreateContextFn = reinterpret_cast<eglCreateContextProc>( | 108 fn.eglCreateContextFn = reinterpret_cast<eglCreateContextProc>( |
38 GetGLProcAddress("eglCreateContext")); | 109 GetGLProcAddress("eglCreateContext")); |
39 fn.eglCreateImageKHRFn = reinterpret_cast<eglCreateImageKHRProc>( | 110 fn.eglCreateImageKHRFn = |
40 GetGLProcAddress("eglCreateImageKHR")); | 111 reinterpret_cast<eglCreateImageKHRProc>(eglCreateImageKHRNotBound); |
41 fn.eglCreatePbufferFromClientBufferFn = | 112 fn.eglCreatePbufferFromClientBufferFn = |
42 reinterpret_cast<eglCreatePbufferFromClientBufferProc>( | 113 reinterpret_cast<eglCreatePbufferFromClientBufferProc>( |
43 GetGLProcAddress("eglCreatePbufferFromClientBuffer")); | 114 GetGLProcAddress("eglCreatePbufferFromClientBuffer")); |
44 fn.eglCreatePbufferSurfaceFn = reinterpret_cast<eglCreatePbufferSurfaceProc>( | 115 fn.eglCreatePbufferSurfaceFn = reinterpret_cast<eglCreatePbufferSurfaceProc>( |
45 GetGLProcAddress("eglCreatePbufferSurface")); | 116 GetGLProcAddress("eglCreatePbufferSurface")); |
46 fn.eglCreatePixmapSurfaceFn = reinterpret_cast<eglCreatePixmapSurfaceProc>( | 117 fn.eglCreatePixmapSurfaceFn = reinterpret_cast<eglCreatePixmapSurfaceProc>( |
47 GetGLProcAddress("eglCreatePixmapSurface")); | 118 GetGLProcAddress("eglCreatePixmapSurface")); |
48 fn.eglCreateSyncKHRFn = reinterpret_cast<eglCreateSyncKHRProc>( | 119 fn.eglCreateSyncKHRFn = |
49 GetGLProcAddress("eglCreateSyncKHR")); | 120 reinterpret_cast<eglCreateSyncKHRProc>(eglCreateSyncKHRNotBound); |
50 fn.eglCreateWindowSurfaceFn = reinterpret_cast<eglCreateWindowSurfaceProc>( | 121 fn.eglCreateWindowSurfaceFn = reinterpret_cast<eglCreateWindowSurfaceProc>( |
51 GetGLProcAddress("eglCreateWindowSurface")); | 122 GetGLProcAddress("eglCreateWindowSurface")); |
52 fn.eglDestroyContextFn = reinterpret_cast<eglDestroyContextProc>( | 123 fn.eglDestroyContextFn = reinterpret_cast<eglDestroyContextProc>( |
53 GetGLProcAddress("eglDestroyContext")); | 124 GetGLProcAddress("eglDestroyContext")); |
54 fn.eglDestroyImageKHRFn = reinterpret_cast<eglDestroyImageKHRProc>( | 125 fn.eglDestroyImageKHRFn = |
55 GetGLProcAddress("eglDestroyImageKHR")); | 126 reinterpret_cast<eglDestroyImageKHRProc>(eglDestroyImageKHRNotBound); |
56 fn.eglDestroySurfaceFn = reinterpret_cast<eglDestroySurfaceProc>( | 127 fn.eglDestroySurfaceFn = reinterpret_cast<eglDestroySurfaceProc>( |
57 GetGLProcAddress("eglDestroySurface")); | 128 GetGLProcAddress("eglDestroySurface")); |
58 fn.eglDestroySyncKHRFn = reinterpret_cast<eglDestroySyncKHRProc>( | 129 fn.eglDestroySyncKHRFn = |
59 GetGLProcAddress("eglDestroySyncKHR")); | 130 reinterpret_cast<eglDestroySyncKHRProc>(eglDestroySyncKHRNotBound); |
60 fn.eglGetConfigAttribFn = reinterpret_cast<eglGetConfigAttribProc>( | 131 fn.eglGetConfigAttribFn = reinterpret_cast<eglGetConfigAttribProc>( |
61 GetGLProcAddress("eglGetConfigAttrib")); | 132 GetGLProcAddress("eglGetConfigAttrib")); |
62 fn.eglGetConfigsFn = | 133 fn.eglGetConfigsFn = |
63 reinterpret_cast<eglGetConfigsProc>(GetGLProcAddress("eglGetConfigs")); | 134 reinterpret_cast<eglGetConfigsProc>(GetGLProcAddress("eglGetConfigs")); |
64 fn.eglGetCurrentContextFn = reinterpret_cast<eglGetCurrentContextProc>( | 135 fn.eglGetCurrentContextFn = reinterpret_cast<eglGetCurrentContextProc>( |
65 GetGLProcAddress("eglGetCurrentContext")); | 136 GetGLProcAddress("eglGetCurrentContext")); |
66 fn.eglGetCurrentDisplayFn = reinterpret_cast<eglGetCurrentDisplayProc>( | 137 fn.eglGetCurrentDisplayFn = reinterpret_cast<eglGetCurrentDisplayProc>( |
67 GetGLProcAddress("eglGetCurrentDisplay")); | 138 GetGLProcAddress("eglGetCurrentDisplay")); |
68 fn.eglGetCurrentSurfaceFn = reinterpret_cast<eglGetCurrentSurfaceProc>( | 139 fn.eglGetCurrentSurfaceFn = reinterpret_cast<eglGetCurrentSurfaceProc>( |
69 GetGLProcAddress("eglGetCurrentSurface")); | 140 GetGLProcAddress("eglGetCurrentSurface")); |
70 fn.eglGetDisplayFn = | 141 fn.eglGetDisplayFn = |
71 reinterpret_cast<eglGetDisplayProc>(GetGLProcAddress("eglGetDisplay")); | 142 reinterpret_cast<eglGetDisplayProc>(GetGLProcAddress("eglGetDisplay")); |
72 fn.eglGetErrorFn = | 143 fn.eglGetErrorFn = |
73 reinterpret_cast<eglGetErrorProc>(GetGLProcAddress("eglGetError")); | 144 reinterpret_cast<eglGetErrorProc>(GetGLProcAddress("eglGetError")); |
74 fn.eglGetPlatformDisplayEXTFn = | 145 fn.eglGetPlatformDisplayEXTFn = |
75 reinterpret_cast<eglGetPlatformDisplayEXTProc>( | 146 reinterpret_cast<eglGetPlatformDisplayEXTProc>( |
76 GetGLProcAddress("eglGetPlatformDisplayEXT")); | 147 eglGetPlatformDisplayEXTNotBound); |
77 fn.eglGetProcAddressFn = reinterpret_cast<eglGetProcAddressProc>( | 148 fn.eglGetProcAddressFn = reinterpret_cast<eglGetProcAddressProc>( |
78 GetGLProcAddress("eglGetProcAddress")); | 149 GetGLProcAddress("eglGetProcAddress")); |
79 fn.eglGetSyncAttribKHRFn = reinterpret_cast<eglGetSyncAttribKHRProc>( | 150 fn.eglGetSyncAttribKHRFn = |
80 GetGLProcAddress("eglGetSyncAttribKHR")); | 151 reinterpret_cast<eglGetSyncAttribKHRProc>(eglGetSyncAttribKHRNotBound); |
81 fn.eglGetSyncValuesCHROMIUMFn = | 152 fn.eglGetSyncValuesCHROMIUMFn = |
82 reinterpret_cast<eglGetSyncValuesCHROMIUMProc>( | 153 reinterpret_cast<eglGetSyncValuesCHROMIUMProc>( |
83 GetGLProcAddress("eglGetSyncValuesCHROMIUM")); | 154 eglGetSyncValuesCHROMIUMNotBound); |
84 fn.eglInitializeFn = | 155 fn.eglInitializeFn = |
85 reinterpret_cast<eglInitializeProc>(GetGLProcAddress("eglInitialize")); | 156 reinterpret_cast<eglInitializeProc>(GetGLProcAddress("eglInitialize")); |
86 fn.eglMakeCurrentFn = | 157 fn.eglMakeCurrentFn = |
87 reinterpret_cast<eglMakeCurrentProc>(GetGLProcAddress("eglMakeCurrent")); | 158 reinterpret_cast<eglMakeCurrentProc>(GetGLProcAddress("eglMakeCurrent")); |
88 fn.eglPostSubBufferNVFn = reinterpret_cast<eglPostSubBufferNVProc>( | 159 fn.eglPostSubBufferNVFn = |
89 GetGLProcAddress("eglPostSubBufferNV")); | 160 reinterpret_cast<eglPostSubBufferNVProc>(eglPostSubBufferNVNotBound); |
90 fn.eglQueryAPIFn = | 161 fn.eglQueryAPIFn = |
91 reinterpret_cast<eglQueryAPIProc>(GetGLProcAddress("eglQueryAPI")); | 162 reinterpret_cast<eglQueryAPIProc>(GetGLProcAddress("eglQueryAPI")); |
92 fn.eglQueryContextFn = reinterpret_cast<eglQueryContextProc>( | 163 fn.eglQueryContextFn = reinterpret_cast<eglQueryContextProc>( |
93 GetGLProcAddress("eglQueryContext")); | 164 GetGLProcAddress("eglQueryContext")); |
94 fn.eglQueryStringFn = | 165 fn.eglQueryStringFn = |
95 reinterpret_cast<eglQueryStringProc>(GetGLProcAddress("eglQueryString")); | 166 reinterpret_cast<eglQueryStringProc>(GetGLProcAddress("eglQueryString")); |
96 fn.eglQuerySurfaceFn = reinterpret_cast<eglQuerySurfaceProc>( | 167 fn.eglQuerySurfaceFn = reinterpret_cast<eglQuerySurfaceProc>( |
97 GetGLProcAddress("eglQuerySurface")); | 168 GetGLProcAddress("eglQuerySurface")); |
98 fn.eglQuerySurfacePointerANGLEFn = | 169 fn.eglQuerySurfacePointerANGLEFn = |
99 reinterpret_cast<eglQuerySurfacePointerANGLEProc>( | 170 reinterpret_cast<eglQuerySurfacePointerANGLEProc>( |
100 GetGLProcAddress("eglQuerySurfacePointerANGLE")); | 171 eglQuerySurfacePointerANGLENotBound); |
101 fn.eglReleaseTexImageFn = reinterpret_cast<eglReleaseTexImageProc>( | 172 fn.eglReleaseTexImageFn = reinterpret_cast<eglReleaseTexImageProc>( |
102 GetGLProcAddress("eglReleaseTexImage")); | 173 GetGLProcAddress("eglReleaseTexImage")); |
103 fn.eglReleaseThreadFn = reinterpret_cast<eglReleaseThreadProc>( | 174 fn.eglReleaseThreadFn = reinterpret_cast<eglReleaseThreadProc>( |
104 GetGLProcAddress("eglReleaseThread")); | 175 GetGLProcAddress("eglReleaseThread")); |
105 fn.eglSurfaceAttribFn = reinterpret_cast<eglSurfaceAttribProc>( | 176 fn.eglSurfaceAttribFn = reinterpret_cast<eglSurfaceAttribProc>( |
106 GetGLProcAddress("eglSurfaceAttrib")); | 177 GetGLProcAddress("eglSurfaceAttrib")); |
107 fn.eglSwapBuffersFn = | 178 fn.eglSwapBuffersFn = |
108 reinterpret_cast<eglSwapBuffersProc>(GetGLProcAddress("eglSwapBuffers")); | 179 reinterpret_cast<eglSwapBuffersProc>(GetGLProcAddress("eglSwapBuffers")); |
109 fn.eglSwapIntervalFn = reinterpret_cast<eglSwapIntervalProc>( | 180 fn.eglSwapIntervalFn = reinterpret_cast<eglSwapIntervalProc>( |
110 GetGLProcAddress("eglSwapInterval")); | 181 GetGLProcAddress("eglSwapInterval")); |
111 fn.eglTerminateFn = | 182 fn.eglTerminateFn = |
112 reinterpret_cast<eglTerminateProc>(GetGLProcAddress("eglTerminate")); | 183 reinterpret_cast<eglTerminateProc>(GetGLProcAddress("eglTerminate")); |
113 fn.eglWaitClientFn = | 184 fn.eglWaitClientFn = |
114 reinterpret_cast<eglWaitClientProc>(GetGLProcAddress("eglWaitClient")); | 185 reinterpret_cast<eglWaitClientProc>(GetGLProcAddress("eglWaitClient")); |
115 fn.eglWaitGLFn = | 186 fn.eglWaitGLFn = |
116 reinterpret_cast<eglWaitGLProc>(GetGLProcAddress("eglWaitGL")); | 187 reinterpret_cast<eglWaitGLProc>(GetGLProcAddress("eglWaitGL")); |
117 fn.eglWaitNativeFn = | 188 fn.eglWaitNativeFn = |
118 reinterpret_cast<eglWaitNativeProc>(GetGLProcAddress("eglWaitNative")); | 189 reinterpret_cast<eglWaitNativeProc>(GetGLProcAddress("eglWaitNative")); |
119 fn.eglWaitSyncKHRFn = | 190 fn.eglWaitSyncKHRFn = |
120 reinterpret_cast<eglWaitSyncKHRProc>(GetGLProcAddress("eglWaitSyncKHR")); | 191 reinterpret_cast<eglWaitSyncKHRProc>(eglWaitSyncKHRNotBound); |
121 } | 192 std::string extensions(GetPlatformExtensions()); |
122 | 193 extensions += " "; |
123 void DriverEGL::InitializeDynamicBindings(GLContext* context) { | |
124 DCHECK(context && context->IsCurrent(NULL)); | |
125 const GLVersionInfo* ver = context->GetVersionInfo(); | |
126 ALLOW_UNUSED_LOCAL(ver); | |
127 std::string extensions = context->GetExtensions() + " "; | |
128 ALLOW_UNUSED_LOCAL(extensions); | 194 ALLOW_UNUSED_LOCAL(extensions); |
129 | 195 |
130 ext.b_EGL_ANGLE_d3d_share_handle_client_buffer = | 196 ext.b_EGL_ANGLE_d3d_share_handle_client_buffer = |
131 extensions.find("EGL_ANGLE_d3d_share_handle_client_buffer ") != | 197 extensions.find("EGL_ANGLE_d3d_share_handle_client_buffer ") != |
132 std::string::npos; | 198 std::string::npos; |
133 ext.b_EGL_ANGLE_platform_angle = | 199 ext.b_EGL_ANGLE_platform_angle = |
134 extensions.find("EGL_ANGLE_platform_angle ") != std::string::npos; | 200 extensions.find("EGL_ANGLE_platform_angle ") != std::string::npos; |
135 ext.b_EGL_ANGLE_query_surface_pointer = | 201 ext.b_EGL_ANGLE_query_surface_pointer = |
136 extensions.find("EGL_ANGLE_query_surface_pointer ") != std::string::npos; | 202 extensions.find("EGL_ANGLE_query_surface_pointer ") != std::string::npos; |
137 ext.b_EGL_ANGLE_surface_d3d_texture_2d_share_handle = | 203 ext.b_EGL_ANGLE_surface_d3d_texture_2d_share_handle = |
138 extensions.find("EGL_ANGLE_surface_d3d_texture_2d_share_handle ") != | 204 extensions.find("EGL_ANGLE_surface_d3d_texture_2d_share_handle ") != |
139 std::string::npos; | 205 std::string::npos; |
140 ext.b_EGL_CHROMIUM_sync_control = | 206 ext.b_EGL_CHROMIUM_sync_control = |
141 extensions.find("EGL_CHROMIUM_sync_control ") != std::string::npos; | 207 extensions.find("EGL_CHROMIUM_sync_control ") != std::string::npos; |
142 ext.b_EGL_KHR_fence_sync = | 208 ext.b_EGL_KHR_fence_sync = |
143 extensions.find("EGL_KHR_fence_sync ") != std::string::npos; | 209 extensions.find("EGL_KHR_fence_sync ") != std::string::npos; |
144 ext.b_EGL_KHR_gl_texture_2D_image = | 210 ext.b_EGL_KHR_gl_texture_2D_image = |
145 extensions.find("EGL_KHR_gl_texture_2D_image ") != std::string::npos; | 211 extensions.find("EGL_KHR_gl_texture_2D_image ") != std::string::npos; |
| 212 ext.b_EGL_KHR_image = extensions.find("EGL_KHR_image ") != std::string::npos; |
146 ext.b_EGL_KHR_image_base = | 213 ext.b_EGL_KHR_image_base = |
147 extensions.find("EGL_KHR_image_base ") != std::string::npos; | 214 extensions.find("EGL_KHR_image_base ") != std::string::npos; |
| 215 ext.b_EGL_KHR_reusable_sync = |
| 216 extensions.find("EGL_KHR_reusable_sync ") != std::string::npos; |
148 ext.b_EGL_KHR_wait_sync = | 217 ext.b_EGL_KHR_wait_sync = |
149 extensions.find("EGL_KHR_wait_sync ") != std::string::npos; | 218 extensions.find("EGL_KHR_wait_sync ") != std::string::npos; |
150 ext.b_EGL_NV_post_sub_buffer = | 219 ext.b_EGL_NV_post_sub_buffer = |
151 extensions.find("EGL_NV_post_sub_buffer ") != std::string::npos; | 220 extensions.find("EGL_NV_post_sub_buffer ") != std::string::npos; |
152 | 221 |
| 222 fn.eglClientWaitSyncKHRFn = 0; |
| 223 debug_fn.eglClientWaitSyncKHRFn = 0; |
| 224 if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) { |
| 225 fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>( |
| 226 GetGLProcAddress("eglClientWaitSyncKHR")); |
| 227 } else { |
| 228 fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>( |
| 229 eglClientWaitSyncKHRNotBound); |
| 230 } |
| 231 DCHECK(fn.eglClientWaitSyncKHRFn); |
| 232 |
| 233 fn.eglCreateImageKHRFn = 0; |
| 234 debug_fn.eglCreateImageKHRFn = 0; |
| 235 if ((ext.b_EGL_KHR_image || ext.b_EGL_KHR_image_base || |
| 236 ext.b_EGL_KHR_gl_texture_2D_image)) { |
| 237 fn.eglCreateImageKHRFn = reinterpret_cast<eglCreateImageKHRProc>( |
| 238 GetGLProcAddress("eglCreateImageKHR")); |
| 239 } else { |
| 240 fn.eglCreateImageKHRFn = |
| 241 reinterpret_cast<eglCreateImageKHRProc>(eglCreateImageKHRNotBound); |
| 242 } |
| 243 DCHECK(fn.eglCreateImageKHRFn); |
| 244 |
| 245 fn.eglCreateSyncKHRFn = 0; |
| 246 debug_fn.eglCreateSyncKHRFn = 0; |
| 247 if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) { |
| 248 fn.eglCreateSyncKHRFn = reinterpret_cast<eglCreateSyncKHRProc>( |
| 249 GetGLProcAddress("eglCreateSyncKHR")); |
| 250 } else { |
| 251 fn.eglCreateSyncKHRFn = |
| 252 reinterpret_cast<eglCreateSyncKHRProc>(eglCreateSyncKHRNotBound); |
| 253 } |
| 254 DCHECK(fn.eglCreateSyncKHRFn); |
| 255 |
| 256 fn.eglDestroyImageKHRFn = 0; |
| 257 debug_fn.eglDestroyImageKHRFn = 0; |
| 258 if ((ext.b_EGL_KHR_image || ext.b_EGL_KHR_image_base)) { |
| 259 fn.eglDestroyImageKHRFn = reinterpret_cast<eglDestroyImageKHRProc>( |
| 260 GetGLProcAddress("eglDestroyImageKHR")); |
| 261 } else { |
| 262 fn.eglDestroyImageKHRFn = |
| 263 reinterpret_cast<eglDestroyImageKHRProc>(eglDestroyImageKHRNotBound); |
| 264 } |
| 265 DCHECK(fn.eglDestroyImageKHRFn); |
| 266 |
| 267 fn.eglDestroySyncKHRFn = 0; |
| 268 debug_fn.eglDestroySyncKHRFn = 0; |
| 269 if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) { |
| 270 fn.eglDestroySyncKHRFn = reinterpret_cast<eglDestroySyncKHRProc>( |
| 271 GetGLProcAddress("eglDestroySyncKHR")); |
| 272 } else { |
| 273 fn.eglDestroySyncKHRFn = |
| 274 reinterpret_cast<eglDestroySyncKHRProc>(eglDestroySyncKHRNotBound); |
| 275 } |
| 276 DCHECK(fn.eglDestroySyncKHRFn); |
| 277 |
| 278 fn.eglGetPlatformDisplayEXTFn = 0; |
| 279 debug_fn.eglGetPlatformDisplayEXTFn = 0; |
| 280 if (ext.b_EGL_ANGLE_platform_angle) { |
| 281 fn.eglGetPlatformDisplayEXTFn = |
| 282 reinterpret_cast<eglGetPlatformDisplayEXTProc>( |
| 283 GetGLProcAddress("eglGetPlatformDisplayEXT")); |
| 284 } else { |
| 285 fn.eglGetPlatformDisplayEXTFn = |
| 286 reinterpret_cast<eglGetPlatformDisplayEXTProc>( |
| 287 eglGetPlatformDisplayEXTNotBound); |
| 288 } |
| 289 DCHECK(fn.eglGetPlatformDisplayEXTFn); |
| 290 |
| 291 fn.eglGetSyncAttribKHRFn = 0; |
| 292 debug_fn.eglGetSyncAttribKHRFn = 0; |
| 293 if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) { |
| 294 fn.eglGetSyncAttribKHRFn = reinterpret_cast<eglGetSyncAttribKHRProc>( |
| 295 GetGLProcAddress("eglGetSyncAttribKHR")); |
| 296 } else { |
| 297 fn.eglGetSyncAttribKHRFn = |
| 298 reinterpret_cast<eglGetSyncAttribKHRProc>(eglGetSyncAttribKHRNotBound); |
| 299 } |
| 300 DCHECK(fn.eglGetSyncAttribKHRFn); |
| 301 |
| 302 fn.eglGetSyncValuesCHROMIUMFn = 0; |
| 303 debug_fn.eglGetSyncValuesCHROMIUMFn = 0; |
| 304 if (ext.b_EGL_CHROMIUM_sync_control) { |
| 305 fn.eglGetSyncValuesCHROMIUMFn = |
| 306 reinterpret_cast<eglGetSyncValuesCHROMIUMProc>( |
| 307 GetGLProcAddress("eglGetSyncValuesCHROMIUM")); |
| 308 } else { |
| 309 fn.eglGetSyncValuesCHROMIUMFn = |
| 310 reinterpret_cast<eglGetSyncValuesCHROMIUMProc>( |
| 311 eglGetSyncValuesCHROMIUMNotBound); |
| 312 } |
| 313 DCHECK(fn.eglGetSyncValuesCHROMIUMFn); |
| 314 |
| 315 fn.eglPostSubBufferNVFn = 0; |
| 316 debug_fn.eglPostSubBufferNVFn = 0; |
| 317 if (ext.b_EGL_NV_post_sub_buffer) { |
| 318 fn.eglPostSubBufferNVFn = reinterpret_cast<eglPostSubBufferNVProc>( |
| 319 GetGLProcAddress("eglPostSubBufferNV")); |
| 320 } else { |
| 321 fn.eglPostSubBufferNVFn = |
| 322 reinterpret_cast<eglPostSubBufferNVProc>(eglPostSubBufferNVNotBound); |
| 323 } |
| 324 DCHECK(fn.eglPostSubBufferNVFn); |
| 325 |
| 326 fn.eglQuerySurfacePointerANGLEFn = 0; |
| 327 debug_fn.eglQuerySurfacePointerANGLEFn = 0; |
| 328 if (ext.b_EGL_ANGLE_query_surface_pointer) { |
| 329 fn.eglQuerySurfacePointerANGLEFn = |
| 330 reinterpret_cast<eglQuerySurfacePointerANGLEProc>( |
| 331 GetGLProcAddress("eglQuerySurfacePointerANGLE")); |
| 332 } else { |
| 333 fn.eglQuerySurfacePointerANGLEFn = |
| 334 reinterpret_cast<eglQuerySurfacePointerANGLEProc>( |
| 335 eglQuerySurfacePointerANGLENotBound); |
| 336 } |
| 337 DCHECK(fn.eglQuerySurfacePointerANGLEFn); |
| 338 |
| 339 fn.eglWaitSyncKHRFn = 0; |
| 340 debug_fn.eglWaitSyncKHRFn = 0; |
| 341 if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_wait_sync)) { |
| 342 fn.eglWaitSyncKHRFn = reinterpret_cast<eglWaitSyncKHRProc>( |
| 343 GetGLProcAddress("eglWaitSyncKHR")); |
| 344 } else { |
| 345 fn.eglWaitSyncKHRFn = |
| 346 reinterpret_cast<eglWaitSyncKHRProc>(eglWaitSyncKHRNotBound); |
| 347 } |
| 348 DCHECK(fn.eglWaitSyncKHRFn); |
| 349 |
153 if (g_debugBindingsInitialized) | 350 if (g_debugBindingsInitialized) |
154 InitializeDebugBindings(); | 351 InitializeDebugBindings(); |
155 } | 352 } |
156 | 353 |
157 extern "C" { | 354 extern "C" { |
158 | 355 |
159 static EGLBoolean GL_BINDING_CALL Debug_eglBindAPI(EGLenum api) { | 356 static EGLBoolean GL_BINDING_CALL Debug_eglBindAPI(EGLenum api) { |
160 GL_SERVICE_LOG("eglBindAPI" | 357 GL_SERVICE_LOG("eglBindAPI" |
161 << "(" << api << ")"); | 358 << "(" << api << ")"); |
162 EGLBoolean result = g_driver_egl.debug_fn.eglBindAPIFn(api); | 359 EGLBoolean result = g_driver_egl.debug_fn.eglBindAPIFn(api); |
(...skipping 1256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1419 } | 1616 } |
1420 | 1617 |
1421 EGLint TraceEGLApi::eglWaitSyncKHRFn(EGLDisplay dpy, | 1618 EGLint TraceEGLApi::eglWaitSyncKHRFn(EGLDisplay dpy, |
1422 EGLSyncKHR sync, | 1619 EGLSyncKHR sync, |
1423 EGLint flags) { | 1620 EGLint flags) { |
1424 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglWaitSyncKHR") | 1621 TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglWaitSyncKHR") |
1425 return egl_api_->eglWaitSyncKHRFn(dpy, sync, flags); | 1622 return egl_api_->eglWaitSyncKHRFn(dpy, sync, flags); |
1426 } | 1623 } |
1427 | 1624 |
1428 } // namespace gfx | 1625 } // namespace gfx |
OLD | NEW |