Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: ui/gl/gl_bindings_autogen_egl.cc

Issue 871763002: Make GL bindings conditional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698