| Index: ui/gl/gl_bindings_autogen_egl.cc
|
| diff --git a/ui/gl/gl_bindings_autogen_egl.cc b/ui/gl/gl_bindings_autogen_egl.cc
|
| index 051e1b3abec7709ff7f5019d85932d1eeee3d38a..9f95a262e918db9d96192aa3b73310e09da94500 100644
|
| --- a/ui/gl/gl_bindings_autogen_egl.cc
|
| +++ b/ui/gl/gl_bindings_autogen_egl.cc
|
| @@ -23,6 +23,77 @@ namespace gfx {
|
| static bool g_debugBindingsInitialized;
|
| DriverEGL g_driver_egl;
|
|
|
| +EGLint eglClientWaitSyncKHRNotBound(EGLDisplay dpy,
|
| + EGLSyncKHR sync,
|
| + EGLint flags,
|
| + EGLTimeKHR timeout) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLImageKHR eglCreateImageKHRNotBound(EGLDisplay dpy,
|
| + EGLContext ctx,
|
| + EGLenum target,
|
| + EGLClientBuffer buffer,
|
| + const EGLint* attrib_list) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLSyncKHR eglCreateSyncKHRNotBound(EGLDisplay dpy,
|
| + EGLenum type,
|
| + const EGLint* attrib_list) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLBoolean eglDestroyImageKHRNotBound(EGLDisplay dpy, EGLImageKHR image) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLBoolean eglDestroySyncKHRNotBound(EGLDisplay dpy, EGLSyncKHR sync) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLDisplay eglGetPlatformDisplayEXTNotBound(EGLenum platform,
|
| + void* native_display,
|
| + const EGLint* attrib_list) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLBoolean eglGetSyncAttribKHRNotBound(EGLDisplay dpy,
|
| + EGLSyncKHR sync,
|
| + EGLint attribute,
|
| + EGLint* value) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLBoolean eglGetSyncValuesCHROMIUMNotBound(EGLDisplay dpy,
|
| + EGLSurface surface,
|
| + EGLuint64CHROMIUM* ust,
|
| + EGLuint64CHROMIUM* msc,
|
| + EGLuint64CHROMIUM* sbc) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLBoolean eglPostSubBufferNVNotBound(EGLDisplay dpy,
|
| + EGLSurface surface,
|
| + EGLint x,
|
| + EGLint y,
|
| + EGLint width,
|
| + EGLint height) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLBoolean eglQuerySurfacePointerANGLENotBound(EGLDisplay dpy,
|
| + EGLSurface surface,
|
| + EGLint attribute,
|
| + void** value) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +EGLint eglWaitSyncKHRNotBound(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags) {
|
| + NOTREACHED();
|
| + return 0;
|
| +}
|
| +
|
| void DriverEGL::InitializeStaticBindings() {
|
| fn.eglBindAPIFn =
|
| reinterpret_cast<eglBindAPIProc>(GetGLProcAddress("eglBindAPI"));
|
| @@ -30,14 +101,14 @@ void DriverEGL::InitializeStaticBindings() {
|
| GetGLProcAddress("eglBindTexImage"));
|
| fn.eglChooseConfigFn = reinterpret_cast<eglChooseConfigProc>(
|
| GetGLProcAddress("eglChooseConfig"));
|
| - fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>(
|
| - GetGLProcAddress("eglClientWaitSyncKHR"));
|
| + fn.eglClientWaitSyncKHRFn =
|
| + reinterpret_cast<eglClientWaitSyncKHRProc>(eglClientWaitSyncKHRNotBound);
|
| fn.eglCopyBuffersFn =
|
| reinterpret_cast<eglCopyBuffersProc>(GetGLProcAddress("eglCopyBuffers"));
|
| fn.eglCreateContextFn = reinterpret_cast<eglCreateContextProc>(
|
| GetGLProcAddress("eglCreateContext"));
|
| - fn.eglCreateImageKHRFn = reinterpret_cast<eglCreateImageKHRProc>(
|
| - GetGLProcAddress("eglCreateImageKHR"));
|
| + fn.eglCreateImageKHRFn =
|
| + reinterpret_cast<eglCreateImageKHRProc>(eglCreateImageKHRNotBound);
|
| fn.eglCreatePbufferFromClientBufferFn =
|
| reinterpret_cast<eglCreatePbufferFromClientBufferProc>(
|
| GetGLProcAddress("eglCreatePbufferFromClientBuffer"));
|
| @@ -45,18 +116,18 @@ void DriverEGL::InitializeStaticBindings() {
|
| GetGLProcAddress("eglCreatePbufferSurface"));
|
| fn.eglCreatePixmapSurfaceFn = reinterpret_cast<eglCreatePixmapSurfaceProc>(
|
| GetGLProcAddress("eglCreatePixmapSurface"));
|
| - fn.eglCreateSyncKHRFn = reinterpret_cast<eglCreateSyncKHRProc>(
|
| - GetGLProcAddress("eglCreateSyncKHR"));
|
| + fn.eglCreateSyncKHRFn =
|
| + reinterpret_cast<eglCreateSyncKHRProc>(eglCreateSyncKHRNotBound);
|
| fn.eglCreateWindowSurfaceFn = reinterpret_cast<eglCreateWindowSurfaceProc>(
|
| GetGLProcAddress("eglCreateWindowSurface"));
|
| fn.eglDestroyContextFn = reinterpret_cast<eglDestroyContextProc>(
|
| GetGLProcAddress("eglDestroyContext"));
|
| - fn.eglDestroyImageKHRFn = reinterpret_cast<eglDestroyImageKHRProc>(
|
| - GetGLProcAddress("eglDestroyImageKHR"));
|
| + fn.eglDestroyImageKHRFn =
|
| + reinterpret_cast<eglDestroyImageKHRProc>(eglDestroyImageKHRNotBound);
|
| fn.eglDestroySurfaceFn = reinterpret_cast<eglDestroySurfaceProc>(
|
| GetGLProcAddress("eglDestroySurface"));
|
| - fn.eglDestroySyncKHRFn = reinterpret_cast<eglDestroySyncKHRProc>(
|
| - GetGLProcAddress("eglDestroySyncKHR"));
|
| + fn.eglDestroySyncKHRFn =
|
| + reinterpret_cast<eglDestroySyncKHRProc>(eglDestroySyncKHRNotBound);
|
| fn.eglGetConfigAttribFn = reinterpret_cast<eglGetConfigAttribProc>(
|
| GetGLProcAddress("eglGetConfigAttrib"));
|
| fn.eglGetConfigsFn =
|
| @@ -73,20 +144,20 @@ void DriverEGL::InitializeStaticBindings() {
|
| reinterpret_cast<eglGetErrorProc>(GetGLProcAddress("eglGetError"));
|
| fn.eglGetPlatformDisplayEXTFn =
|
| reinterpret_cast<eglGetPlatformDisplayEXTProc>(
|
| - GetGLProcAddress("eglGetPlatformDisplayEXT"));
|
| + eglGetPlatformDisplayEXTNotBound);
|
| fn.eglGetProcAddressFn = reinterpret_cast<eglGetProcAddressProc>(
|
| GetGLProcAddress("eglGetProcAddress"));
|
| - fn.eglGetSyncAttribKHRFn = reinterpret_cast<eglGetSyncAttribKHRProc>(
|
| - GetGLProcAddress("eglGetSyncAttribKHR"));
|
| + fn.eglGetSyncAttribKHRFn =
|
| + reinterpret_cast<eglGetSyncAttribKHRProc>(eglGetSyncAttribKHRNotBound);
|
| fn.eglGetSyncValuesCHROMIUMFn =
|
| reinterpret_cast<eglGetSyncValuesCHROMIUMProc>(
|
| - GetGLProcAddress("eglGetSyncValuesCHROMIUM"));
|
| + eglGetSyncValuesCHROMIUMNotBound);
|
| fn.eglInitializeFn =
|
| reinterpret_cast<eglInitializeProc>(GetGLProcAddress("eglInitialize"));
|
| fn.eglMakeCurrentFn =
|
| reinterpret_cast<eglMakeCurrentProc>(GetGLProcAddress("eglMakeCurrent"));
|
| - fn.eglPostSubBufferNVFn = reinterpret_cast<eglPostSubBufferNVProc>(
|
| - GetGLProcAddress("eglPostSubBufferNV"));
|
| + fn.eglPostSubBufferNVFn =
|
| + reinterpret_cast<eglPostSubBufferNVProc>(eglPostSubBufferNVNotBound);
|
| fn.eglQueryAPIFn =
|
| reinterpret_cast<eglQueryAPIProc>(GetGLProcAddress("eglQueryAPI"));
|
| fn.eglQueryContextFn = reinterpret_cast<eglQueryContextProc>(
|
| @@ -97,7 +168,7 @@ void DriverEGL::InitializeStaticBindings() {
|
| GetGLProcAddress("eglQuerySurface"));
|
| fn.eglQuerySurfacePointerANGLEFn =
|
| reinterpret_cast<eglQuerySurfacePointerANGLEProc>(
|
| - GetGLProcAddress("eglQuerySurfacePointerANGLE"));
|
| + eglQuerySurfacePointerANGLENotBound);
|
| fn.eglReleaseTexImageFn = reinterpret_cast<eglReleaseTexImageProc>(
|
| GetGLProcAddress("eglReleaseTexImage"));
|
| fn.eglReleaseThreadFn = reinterpret_cast<eglReleaseThreadProc>(
|
| @@ -117,14 +188,9 @@ void DriverEGL::InitializeStaticBindings() {
|
| fn.eglWaitNativeFn =
|
| reinterpret_cast<eglWaitNativeProc>(GetGLProcAddress("eglWaitNative"));
|
| fn.eglWaitSyncKHRFn =
|
| - reinterpret_cast<eglWaitSyncKHRProc>(GetGLProcAddress("eglWaitSyncKHR"));
|
| -}
|
| -
|
| -void DriverEGL::InitializeDynamicBindings(GLContext* context) {
|
| - DCHECK(context && context->IsCurrent(NULL));
|
| - const GLVersionInfo* ver = context->GetVersionInfo();
|
| - ALLOW_UNUSED_LOCAL(ver);
|
| - std::string extensions = context->GetExtensions() + " ";
|
| + reinterpret_cast<eglWaitSyncKHRProc>(eglWaitSyncKHRNotBound);
|
| + std::string extensions(GetPlatformExtensions());
|
| + extensions += " ";
|
| ALLOW_UNUSED_LOCAL(extensions);
|
|
|
| ext.b_EGL_ANGLE_d3d_share_handle_client_buffer =
|
| @@ -143,13 +209,144 @@ void DriverEGL::InitializeDynamicBindings(GLContext* context) {
|
| extensions.find("EGL_KHR_fence_sync ") != std::string::npos;
|
| ext.b_EGL_KHR_gl_texture_2D_image =
|
| extensions.find("EGL_KHR_gl_texture_2D_image ") != std::string::npos;
|
| + ext.b_EGL_KHR_image = extensions.find("EGL_KHR_image ") != std::string::npos;
|
| ext.b_EGL_KHR_image_base =
|
| extensions.find("EGL_KHR_image_base ") != std::string::npos;
|
| + ext.b_EGL_KHR_reusable_sync =
|
| + extensions.find("EGL_KHR_reusable_sync ") != std::string::npos;
|
| ext.b_EGL_KHR_wait_sync =
|
| extensions.find("EGL_KHR_wait_sync ") != std::string::npos;
|
| ext.b_EGL_NV_post_sub_buffer =
|
| extensions.find("EGL_NV_post_sub_buffer ") != std::string::npos;
|
|
|
| + fn.eglClientWaitSyncKHRFn = 0;
|
| + debug_fn.eglClientWaitSyncKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) {
|
| + fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>(
|
| + GetGLProcAddress("eglClientWaitSyncKHR"));
|
| + } else {
|
| + fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>(
|
| + eglClientWaitSyncKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglClientWaitSyncKHRFn);
|
| +
|
| + fn.eglCreateImageKHRFn = 0;
|
| + debug_fn.eglCreateImageKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_image || ext.b_EGL_KHR_image_base ||
|
| + ext.b_EGL_KHR_gl_texture_2D_image)) {
|
| + fn.eglCreateImageKHRFn = reinterpret_cast<eglCreateImageKHRProc>(
|
| + GetGLProcAddress("eglCreateImageKHR"));
|
| + } else {
|
| + fn.eglCreateImageKHRFn =
|
| + reinterpret_cast<eglCreateImageKHRProc>(eglCreateImageKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglCreateImageKHRFn);
|
| +
|
| + fn.eglCreateSyncKHRFn = 0;
|
| + debug_fn.eglCreateSyncKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) {
|
| + fn.eglCreateSyncKHRFn = reinterpret_cast<eglCreateSyncKHRProc>(
|
| + GetGLProcAddress("eglCreateSyncKHR"));
|
| + } else {
|
| + fn.eglCreateSyncKHRFn =
|
| + reinterpret_cast<eglCreateSyncKHRProc>(eglCreateSyncKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglCreateSyncKHRFn);
|
| +
|
| + fn.eglDestroyImageKHRFn = 0;
|
| + debug_fn.eglDestroyImageKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_image || ext.b_EGL_KHR_image_base)) {
|
| + fn.eglDestroyImageKHRFn = reinterpret_cast<eglDestroyImageKHRProc>(
|
| + GetGLProcAddress("eglDestroyImageKHR"));
|
| + } else {
|
| + fn.eglDestroyImageKHRFn =
|
| + reinterpret_cast<eglDestroyImageKHRProc>(eglDestroyImageKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglDestroyImageKHRFn);
|
| +
|
| + fn.eglDestroySyncKHRFn = 0;
|
| + debug_fn.eglDestroySyncKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) {
|
| + fn.eglDestroySyncKHRFn = reinterpret_cast<eglDestroySyncKHRProc>(
|
| + GetGLProcAddress("eglDestroySyncKHR"));
|
| + } else {
|
| + fn.eglDestroySyncKHRFn =
|
| + reinterpret_cast<eglDestroySyncKHRProc>(eglDestroySyncKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglDestroySyncKHRFn);
|
| +
|
| + fn.eglGetPlatformDisplayEXTFn = 0;
|
| + debug_fn.eglGetPlatformDisplayEXTFn = 0;
|
| + if (ext.b_EGL_ANGLE_platform_angle) {
|
| + fn.eglGetPlatformDisplayEXTFn =
|
| + reinterpret_cast<eglGetPlatformDisplayEXTProc>(
|
| + GetGLProcAddress("eglGetPlatformDisplayEXT"));
|
| + } else {
|
| + fn.eglGetPlatformDisplayEXTFn =
|
| + reinterpret_cast<eglGetPlatformDisplayEXTProc>(
|
| + eglGetPlatformDisplayEXTNotBound);
|
| + }
|
| + DCHECK(fn.eglGetPlatformDisplayEXTFn);
|
| +
|
| + fn.eglGetSyncAttribKHRFn = 0;
|
| + debug_fn.eglGetSyncAttribKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync)) {
|
| + fn.eglGetSyncAttribKHRFn = reinterpret_cast<eglGetSyncAttribKHRProc>(
|
| + GetGLProcAddress("eglGetSyncAttribKHR"));
|
| + } else {
|
| + fn.eglGetSyncAttribKHRFn =
|
| + reinterpret_cast<eglGetSyncAttribKHRProc>(eglGetSyncAttribKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglGetSyncAttribKHRFn);
|
| +
|
| + fn.eglGetSyncValuesCHROMIUMFn = 0;
|
| + debug_fn.eglGetSyncValuesCHROMIUMFn = 0;
|
| + if (ext.b_EGL_CHROMIUM_sync_control) {
|
| + fn.eglGetSyncValuesCHROMIUMFn =
|
| + reinterpret_cast<eglGetSyncValuesCHROMIUMProc>(
|
| + GetGLProcAddress("eglGetSyncValuesCHROMIUM"));
|
| + } else {
|
| + fn.eglGetSyncValuesCHROMIUMFn =
|
| + reinterpret_cast<eglGetSyncValuesCHROMIUMProc>(
|
| + eglGetSyncValuesCHROMIUMNotBound);
|
| + }
|
| + DCHECK(fn.eglGetSyncValuesCHROMIUMFn);
|
| +
|
| + fn.eglPostSubBufferNVFn = 0;
|
| + debug_fn.eglPostSubBufferNVFn = 0;
|
| + if (ext.b_EGL_NV_post_sub_buffer) {
|
| + fn.eglPostSubBufferNVFn = reinterpret_cast<eglPostSubBufferNVProc>(
|
| + GetGLProcAddress("eglPostSubBufferNV"));
|
| + } else {
|
| + fn.eglPostSubBufferNVFn =
|
| + reinterpret_cast<eglPostSubBufferNVProc>(eglPostSubBufferNVNotBound);
|
| + }
|
| + DCHECK(fn.eglPostSubBufferNVFn);
|
| +
|
| + fn.eglQuerySurfacePointerANGLEFn = 0;
|
| + debug_fn.eglQuerySurfacePointerANGLEFn = 0;
|
| + if (ext.b_EGL_ANGLE_query_surface_pointer) {
|
| + fn.eglQuerySurfacePointerANGLEFn =
|
| + reinterpret_cast<eglQuerySurfacePointerANGLEProc>(
|
| + GetGLProcAddress("eglQuerySurfacePointerANGLE"));
|
| + } else {
|
| + fn.eglQuerySurfacePointerANGLEFn =
|
| + reinterpret_cast<eglQuerySurfacePointerANGLEProc>(
|
| + eglQuerySurfacePointerANGLENotBound);
|
| + }
|
| + DCHECK(fn.eglQuerySurfacePointerANGLEFn);
|
| +
|
| + fn.eglWaitSyncKHRFn = 0;
|
| + debug_fn.eglWaitSyncKHRFn = 0;
|
| + if ((ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_wait_sync)) {
|
| + fn.eglWaitSyncKHRFn = reinterpret_cast<eglWaitSyncKHRProc>(
|
| + GetGLProcAddress("eglWaitSyncKHR"));
|
| + } else {
|
| + fn.eglWaitSyncKHRFn =
|
| + reinterpret_cast<eglWaitSyncKHRProc>(eglWaitSyncKHRNotBound);
|
| + }
|
| + DCHECK(fn.eglWaitSyncKHRFn);
|
| +
|
| if (g_debugBindingsInitialized)
|
| InitializeDebugBindings();
|
| }
|
|
|