| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // This file is auto-generated from |
| // ui/gl/generate_bindings.py |
| // It's formatted by clang-format using chromium coding style: |
| // clang-format -i -style=chromium filename |
| // DO NOT EDIT! |
| |
| #include <string> |
| |
| #include "base/trace_event/trace_event.h" |
| #include "ui/gl/gl_bindings.h" |
| #include "ui/gl/gl_context.h" |
| #include "ui/gl/gl_egl_api_implementation.h" |
| #include "ui/gl/gl_enums.h" |
| #include "ui/gl/gl_implementation.h" |
| #include "ui/gl/gl_version_info.h" |
| |
| namespace gfx { |
| |
| static bool g_debugBindingsInitialized; |
| DriverEGL g_driver_egl; |
| |
| void DriverEGL::InitializeStaticBindings() { |
| fn.eglBindAPIFn = |
| reinterpret_cast<eglBindAPIProc>(GetGLProcAddress("eglBindAPI")); |
| fn.eglBindTexImageFn = reinterpret_cast<eglBindTexImageProc>( |
| GetGLProcAddress("eglBindTexImage")); |
| fn.eglChooseConfigFn = reinterpret_cast<eglChooseConfigProc>( |
| GetGLProcAddress("eglChooseConfig")); |
| fn.eglClientWaitSyncKHRFn = 0; |
| fn.eglCopyBuffersFn = |
| reinterpret_cast<eglCopyBuffersProc>(GetGLProcAddress("eglCopyBuffers")); |
| fn.eglCreateContextFn = reinterpret_cast<eglCreateContextProc>( |
| GetGLProcAddress("eglCreateContext")); |
| fn.eglCreateImageKHRFn = 0; |
| fn.eglCreatePbufferFromClientBufferFn = |
| reinterpret_cast<eglCreatePbufferFromClientBufferProc>( |
| GetGLProcAddress("eglCreatePbufferFromClientBuffer")); |
| fn.eglCreatePbufferSurfaceFn = reinterpret_cast<eglCreatePbufferSurfaceProc>( |
| GetGLProcAddress("eglCreatePbufferSurface")); |
| fn.eglCreatePixmapSurfaceFn = reinterpret_cast<eglCreatePixmapSurfaceProc>( |
| GetGLProcAddress("eglCreatePixmapSurface")); |
| fn.eglCreateSyncKHRFn = 0; |
| fn.eglCreateWindowSurfaceFn = reinterpret_cast<eglCreateWindowSurfaceProc>( |
| GetGLProcAddress("eglCreateWindowSurface")); |
| fn.eglDestroyContextFn = reinterpret_cast<eglDestroyContextProc>( |
| GetGLProcAddress("eglDestroyContext")); |
| fn.eglDestroyImageKHRFn = 0; |
| fn.eglDestroySurfaceFn = reinterpret_cast<eglDestroySurfaceProc>( |
| GetGLProcAddress("eglDestroySurface")); |
| fn.eglDestroySyncKHRFn = 0; |
| fn.eglGetConfigAttribFn = reinterpret_cast<eglGetConfigAttribProc>( |
| GetGLProcAddress("eglGetConfigAttrib")); |
| fn.eglGetConfigsFn = |
| reinterpret_cast<eglGetConfigsProc>(GetGLProcAddress("eglGetConfigs")); |
| fn.eglGetCurrentContextFn = reinterpret_cast<eglGetCurrentContextProc>( |
| GetGLProcAddress("eglGetCurrentContext")); |
| fn.eglGetCurrentDisplayFn = reinterpret_cast<eglGetCurrentDisplayProc>( |
| GetGLProcAddress("eglGetCurrentDisplay")); |
| fn.eglGetCurrentSurfaceFn = reinterpret_cast<eglGetCurrentSurfaceProc>( |
| GetGLProcAddress("eglGetCurrentSurface")); |
| fn.eglGetDisplayFn = |
| reinterpret_cast<eglGetDisplayProc>(GetGLProcAddress("eglGetDisplay")); |
| fn.eglGetErrorFn = |
| reinterpret_cast<eglGetErrorProc>(GetGLProcAddress("eglGetError")); |
| fn.eglGetPlatformDisplayEXTFn = 0; |
| fn.eglGetProcAddressFn = reinterpret_cast<eglGetProcAddressProc>( |
| GetGLProcAddress("eglGetProcAddress")); |
| fn.eglGetSyncAttribKHRFn = 0; |
| fn.eglGetSyncValuesCHROMIUMFn = 0; |
| fn.eglInitializeFn = |
| reinterpret_cast<eglInitializeProc>(GetGLProcAddress("eglInitialize")); |
| fn.eglMakeCurrentFn = |
| reinterpret_cast<eglMakeCurrentProc>(GetGLProcAddress("eglMakeCurrent")); |
| fn.eglPostSubBufferNVFn = 0; |
| fn.eglQueryAPIFn = |
| reinterpret_cast<eglQueryAPIProc>(GetGLProcAddress("eglQueryAPI")); |
| fn.eglQueryContextFn = reinterpret_cast<eglQueryContextProc>( |
| GetGLProcAddress("eglQueryContext")); |
| fn.eglQueryStringFn = |
| reinterpret_cast<eglQueryStringProc>(GetGLProcAddress("eglQueryString")); |
| fn.eglQuerySurfaceFn = reinterpret_cast<eglQuerySurfaceProc>( |
| GetGLProcAddress("eglQuerySurface")); |
| fn.eglQuerySurfacePointerANGLEFn = 0; |
| fn.eglReleaseTexImageFn = reinterpret_cast<eglReleaseTexImageProc>( |
| GetGLProcAddress("eglReleaseTexImage")); |
| fn.eglReleaseThreadFn = reinterpret_cast<eglReleaseThreadProc>( |
| GetGLProcAddress("eglReleaseThread")); |
| fn.eglSurfaceAttribFn = reinterpret_cast<eglSurfaceAttribProc>( |
| GetGLProcAddress("eglSurfaceAttrib")); |
| fn.eglSwapBuffersFn = |
| reinterpret_cast<eglSwapBuffersProc>(GetGLProcAddress("eglSwapBuffers")); |
| fn.eglSwapIntervalFn = reinterpret_cast<eglSwapIntervalProc>( |
| GetGLProcAddress("eglSwapInterval")); |
| fn.eglTerminateFn = |
| reinterpret_cast<eglTerminateProc>(GetGLProcAddress("eglTerminate")); |
| fn.eglWaitClientFn = |
| reinterpret_cast<eglWaitClientProc>(GetGLProcAddress("eglWaitClient")); |
| fn.eglWaitGLFn = |
| reinterpret_cast<eglWaitGLProc>(GetGLProcAddress("eglWaitGL")); |
| fn.eglWaitNativeFn = |
| reinterpret_cast<eglWaitNativeProc>(GetGLProcAddress("eglWaitNative")); |
| fn.eglWaitSyncKHRFn = 0; |
| std::string extensions(GetPlatformExtensions()); |
| extensions += " "; |
| ALLOW_UNUSED_LOCAL(extensions); |
| |
| ext.b_EGL_ANGLE_d3d_share_handle_client_buffer = |
| extensions.find("EGL_ANGLE_d3d_share_handle_client_buffer ") != |
| std::string::npos; |
| ext.b_EGL_ANGLE_platform_angle = |
| extensions.find("EGL_ANGLE_platform_angle ") != std::string::npos; |
| ext.b_EGL_ANGLE_query_surface_pointer = |
| extensions.find("EGL_ANGLE_query_surface_pointer ") != std::string::npos; |
| ext.b_EGL_ANGLE_surface_d3d_texture_2d_share_handle = |
| extensions.find("EGL_ANGLE_surface_d3d_texture_2d_share_handle ") != |
| std::string::npos; |
| ext.b_EGL_CHROMIUM_sync_control = |
| extensions.find("EGL_CHROMIUM_sync_control ") != std::string::npos; |
| ext.b_EGL_KHR_fence_sync = |
| 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; |
| |
| debug_fn.eglClientWaitSyncKHRFn = 0; |
| if (ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync) { |
| fn.eglClientWaitSyncKHRFn = reinterpret_cast<eglClientWaitSyncKHRProc>( |
| GetGLProcAddress("eglClientWaitSyncKHR")); |
| DCHECK(fn.eglClientWaitSyncKHRFn); |
| } |
| |
| 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")); |
| DCHECK(fn.eglCreateImageKHRFn); |
| } |
| |
| debug_fn.eglCreateSyncKHRFn = 0; |
| if (ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync) { |
| fn.eglCreateSyncKHRFn = reinterpret_cast<eglCreateSyncKHRProc>( |
| GetGLProcAddress("eglCreateSyncKHR")); |
| DCHECK(fn.eglCreateSyncKHRFn); |
| } |
| |
| debug_fn.eglDestroyImageKHRFn = 0; |
| if (ext.b_EGL_KHR_image || ext.b_EGL_KHR_image_base) { |
| fn.eglDestroyImageKHRFn = reinterpret_cast<eglDestroyImageKHRProc>( |
| GetGLProcAddress("eglDestroyImageKHR")); |
| DCHECK(fn.eglDestroyImageKHRFn); |
| } |
| |
| debug_fn.eglDestroySyncKHRFn = 0; |
| if (ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync) { |
| fn.eglDestroySyncKHRFn = reinterpret_cast<eglDestroySyncKHRProc>( |
| GetGLProcAddress("eglDestroySyncKHR")); |
| DCHECK(fn.eglDestroySyncKHRFn); |
| } |
| |
| debug_fn.eglGetPlatformDisplayEXTFn = 0; |
| if (ext.b_EGL_ANGLE_platform_angle) { |
| fn.eglGetPlatformDisplayEXTFn = |
| reinterpret_cast<eglGetPlatformDisplayEXTProc>( |
| GetGLProcAddress("eglGetPlatformDisplayEXT")); |
| DCHECK(fn.eglGetPlatformDisplayEXTFn); |
| } |
| |
| debug_fn.eglGetSyncAttribKHRFn = 0; |
| if (ext.b_EGL_KHR_fence_sync || ext.b_EGL_KHR_reusable_sync) { |
| fn.eglGetSyncAttribKHRFn = reinterpret_cast<eglGetSyncAttribKHRProc>( |
| GetGLProcAddress("eglGetSyncAttribKHR")); |
| DCHECK(fn.eglGetSyncAttribKHRFn); |
| } |
| |
| debug_fn.eglGetSyncValuesCHROMIUMFn = 0; |
| if (ext.b_EGL_CHROMIUM_sync_control) { |
| fn.eglGetSyncValuesCHROMIUMFn = |
| reinterpret_cast<eglGetSyncValuesCHROMIUMProc>( |
| GetGLProcAddress("eglGetSyncValuesCHROMIUM")); |
| DCHECK(fn.eglGetSyncValuesCHROMIUMFn); |
| } |
| |
| debug_fn.eglPostSubBufferNVFn = 0; |
| if (ext.b_EGL_NV_post_sub_buffer) { |
| fn.eglPostSubBufferNVFn = reinterpret_cast<eglPostSubBufferNVProc>( |
| GetGLProcAddress("eglPostSubBufferNV")); |
| DCHECK(fn.eglPostSubBufferNVFn); |
| } |
| |
| debug_fn.eglQuerySurfacePointerANGLEFn = 0; |
| if (ext.b_EGL_ANGLE_query_surface_pointer) { |
| fn.eglQuerySurfacePointerANGLEFn = |
| reinterpret_cast<eglQuerySurfacePointerANGLEProc>( |
| GetGLProcAddress("eglQuerySurfacePointerANGLE")); |
| DCHECK(fn.eglQuerySurfacePointerANGLEFn); |
| } |
| |
| debug_fn.eglWaitSyncKHRFn = 0; |
| if (ext.b_EGL_KHR_wait_sync) { |
| fn.eglWaitSyncKHRFn = reinterpret_cast<eglWaitSyncKHRProc>( |
| GetGLProcAddress("eglWaitSyncKHR")); |
| DCHECK(fn.eglWaitSyncKHRFn); |
| } |
| |
| if (g_debugBindingsInitialized) |
| InitializeDebugBindings(); |
| } |
| |
| extern "C" { |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglBindAPI(EGLenum api) { |
| GL_SERVICE_LOG("eglBindAPI" |
| << "(" << api << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglBindAPIFn(api); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer) { |
| GL_SERVICE_LOG("eglBindTexImage" |
| << "(" << dpy << ", " << surface << ", " << buffer << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglBindTexImageFn(dpy, surface, buffer); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglChooseConfig(EGLDisplay dpy, |
| const EGLint* attrib_list, |
| EGLConfig* configs, |
| EGLint config_size, |
| EGLint* num_config) { |
| GL_SERVICE_LOG("eglChooseConfig" |
| << "(" << dpy << ", " << static_cast<const void*>(attrib_list) |
| << ", " << static_cast<const void*>(configs) << ", " |
| << config_size << ", " << static_cast<const void*>(num_config) |
| << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglChooseConfigFn( |
| dpy, attrib_list, configs, config_size, num_config); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLint GL_BINDING_CALL Debug_eglClientWaitSyncKHR(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint flags, |
| EGLTimeKHR timeout) { |
| GL_SERVICE_LOG("eglClientWaitSyncKHR" |
| << "(" << dpy << ", " << sync << ", " << flags << ", " |
| << timeout << ")"); |
| EGLint result = |
| g_driver_egl.debug_fn.eglClientWaitSyncKHRFn(dpy, sync, flags, timeout); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglCopyBuffers(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLNativePixmapType target) { |
| GL_SERVICE_LOG("eglCopyBuffers" |
| << "(" << dpy << ", " << surface << ", " << target << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglCopyBuffersFn(dpy, surface, target); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLContext GL_BINDING_CALL |
| Debug_eglCreateContext(EGLDisplay dpy, |
| EGLConfig config, |
| EGLContext share_context, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreateContext" |
| << "(" << dpy << ", " << config << ", " << share_context |
| << ", " << static_cast<const void*>(attrib_list) << ")"); |
| EGLContext result = g_driver_egl.debug_fn.eglCreateContextFn( |
| dpy, config, share_context, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLImageKHR GL_BINDING_CALL |
| Debug_eglCreateImageKHR(EGLDisplay dpy, |
| EGLContext ctx, |
| EGLenum target, |
| EGLClientBuffer buffer, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreateImageKHR" |
| << "(" << dpy << ", " << ctx << ", " << target << ", " |
| << buffer << ", " << static_cast<const void*>(attrib_list) |
| << ")"); |
| EGLImageKHR result = g_driver_egl.debug_fn.eglCreateImageKHRFn( |
| dpy, ctx, target, buffer, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLSurface GL_BINDING_CALL |
| Debug_eglCreatePbufferFromClientBuffer(EGLDisplay dpy, |
| EGLenum buftype, |
| void* buffer, |
| EGLConfig config, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreatePbufferFromClientBuffer" |
| << "(" << dpy << ", " << buftype << ", " |
| << static_cast<const void*>(buffer) << ", " << config << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| EGLSurface result = g_driver_egl.debug_fn.eglCreatePbufferFromClientBufferFn( |
| dpy, buftype, buffer, config, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLSurface GL_BINDING_CALL |
| Debug_eglCreatePbufferSurface(EGLDisplay dpy, |
| EGLConfig config, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreatePbufferSurface" |
| << "(" << dpy << ", " << config << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| EGLSurface result = |
| g_driver_egl.debug_fn.eglCreatePbufferSurfaceFn(dpy, config, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLSurface GL_BINDING_CALL |
| Debug_eglCreatePixmapSurface(EGLDisplay dpy, |
| EGLConfig config, |
| EGLNativePixmapType pixmap, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreatePixmapSurface" |
| << "(" << dpy << ", " << config << ", " << pixmap << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| EGLSurface result = g_driver_egl.debug_fn.eglCreatePixmapSurfaceFn( |
| dpy, config, pixmap, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLSyncKHR GL_BINDING_CALL |
| Debug_eglCreateSyncKHR(EGLDisplay dpy, |
| EGLenum type, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreateSyncKHR" |
| << "(" << dpy << ", " << type << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| EGLSyncKHR result = |
| g_driver_egl.debug_fn.eglCreateSyncKHRFn(dpy, type, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLSurface GL_BINDING_CALL |
| Debug_eglCreateWindowSurface(EGLDisplay dpy, |
| EGLConfig config, |
| EGLNativeWindowType win, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglCreateWindowSurface" |
| << "(" << dpy << ", " << config << ", " << win << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| EGLSurface result = g_driver_egl.debug_fn.eglCreateWindowSurfaceFn( |
| dpy, config, win, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglDestroyContext(EGLDisplay dpy, EGLContext ctx) { |
| GL_SERVICE_LOG("eglDestroyContext" |
| << "(" << dpy << ", " << ctx << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglDestroyContextFn(dpy, ctx); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image) { |
| GL_SERVICE_LOG("eglDestroyImageKHR" |
| << "(" << dpy << ", " << image << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglDestroyImageKHRFn(dpy, image); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglDestroySurface(EGLDisplay dpy, EGLSurface surface) { |
| GL_SERVICE_LOG("eglDestroySurface" |
| << "(" << dpy << ", " << surface << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglDestroySurfaceFn(dpy, surface); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync) { |
| GL_SERVICE_LOG("eglDestroySyncKHR" |
| << "(" << dpy << ", " << sync << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglDestroySyncKHRFn(dpy, sync); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglGetConfigAttrib(EGLDisplay dpy, |
| EGLConfig config, |
| EGLint attribute, |
| EGLint* value) { |
| GL_SERVICE_LOG("eglGetConfigAttrib" |
| << "(" << dpy << ", " << config << ", " << attribute << ", " |
| << static_cast<const void*>(value) << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglGetConfigAttribFn(dpy, config, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglGetConfigs(EGLDisplay dpy, |
| EGLConfig* configs, |
| EGLint config_size, |
| EGLint* num_config) { |
| GL_SERVICE_LOG("eglGetConfigs" |
| << "(" << dpy << ", " << static_cast<const void*>(configs) |
| << ", " << config_size << ", " |
| << static_cast<const void*>(num_config) << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglGetConfigsFn( |
| dpy, configs, config_size, num_config); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLContext GL_BINDING_CALL Debug_eglGetCurrentContext(void) { |
| GL_SERVICE_LOG("eglGetCurrentContext" |
| << "(" |
| << ")"); |
| EGLContext result = g_driver_egl.debug_fn.eglGetCurrentContextFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLDisplay GL_BINDING_CALL Debug_eglGetCurrentDisplay(void) { |
| GL_SERVICE_LOG("eglGetCurrentDisplay" |
| << "(" |
| << ")"); |
| EGLDisplay result = g_driver_egl.debug_fn.eglGetCurrentDisplayFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLSurface GL_BINDING_CALL Debug_eglGetCurrentSurface(EGLint readdraw) { |
| GL_SERVICE_LOG("eglGetCurrentSurface" |
| << "(" << readdraw << ")"); |
| EGLSurface result = g_driver_egl.debug_fn.eglGetCurrentSurfaceFn(readdraw); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLDisplay GL_BINDING_CALL |
| Debug_eglGetDisplay(EGLNativeDisplayType display_id) { |
| GL_SERVICE_LOG("eglGetDisplay" |
| << "(" << display_id << ")"); |
| EGLDisplay result = g_driver_egl.debug_fn.eglGetDisplayFn(display_id); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLint GL_BINDING_CALL Debug_eglGetError(void) { |
| GL_SERVICE_LOG("eglGetError" |
| << "(" |
| << ")"); |
| EGLint result = g_driver_egl.debug_fn.eglGetErrorFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLDisplay GL_BINDING_CALL |
| Debug_eglGetPlatformDisplayEXT(EGLenum platform, |
| void* native_display, |
| const EGLint* attrib_list) { |
| GL_SERVICE_LOG("eglGetPlatformDisplayEXT" |
| << "(" << platform << ", " |
| << static_cast<const void*>(native_display) << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| EGLDisplay result = g_driver_egl.debug_fn.eglGetPlatformDisplayEXTFn( |
| platform, native_display, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static __eglMustCastToProperFunctionPointerType GL_BINDING_CALL |
| Debug_eglGetProcAddress(const char* procname) { |
| GL_SERVICE_LOG("eglGetProcAddress" |
| << "(" << procname << ")"); |
| __eglMustCastToProperFunctionPointerType result = |
| g_driver_egl.debug_fn.eglGetProcAddressFn(procname); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglGetSyncAttribKHR(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint attribute, |
| EGLint* value) { |
| GL_SERVICE_LOG("eglGetSyncAttribKHR" |
| << "(" << dpy << ", " << sync << ", " << attribute << ", " |
| << static_cast<const void*>(value) << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglGetSyncAttribKHRFn(dpy, sync, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglGetSyncValuesCHROMIUM(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLuint64CHROMIUM* ust, |
| EGLuint64CHROMIUM* msc, |
| EGLuint64CHROMIUM* sbc) { |
| GL_SERVICE_LOG("eglGetSyncValuesCHROMIUM" |
| << "(" << dpy << ", " << surface << ", " |
| << static_cast<const void*>(ust) << ", " |
| << static_cast<const void*>(msc) << ", " |
| << static_cast<const void*>(sbc) << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglGetSyncValuesCHROMIUMFn( |
| dpy, surface, ust, msc, sbc); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglInitialize(EGLDisplay dpy, EGLint* major, EGLint* minor) { |
| GL_SERVICE_LOG("eglInitialize" |
| << "(" << dpy << ", " << static_cast<const void*>(major) |
| << ", " << static_cast<const void*>(minor) << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglInitializeFn(dpy, major, minor); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglMakeCurrent(EGLDisplay dpy, |
| EGLSurface draw, |
| EGLSurface read, |
| EGLContext ctx) { |
| GL_SERVICE_LOG("eglMakeCurrent" |
| << "(" << dpy << ", " << draw << ", " << read << ", " << ctx |
| << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglMakeCurrentFn(dpy, draw, read, ctx); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglPostSubBufferNV(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint x, |
| EGLint y, |
| EGLint width, |
| EGLint height) { |
| GL_SERVICE_LOG("eglPostSubBufferNV" |
| << "(" << dpy << ", " << surface << ", " << x << ", " << y |
| << ", " << width << ", " << height << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglPostSubBufferNVFn( |
| dpy, surface, x, y, width, height); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLenum GL_BINDING_CALL Debug_eglQueryAPI(void) { |
| GL_SERVICE_LOG("eglQueryAPI" |
| << "(" |
| << ")"); |
| EGLenum result = g_driver_egl.debug_fn.eglQueryAPIFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglQueryContext(EGLDisplay dpy, |
| EGLContext ctx, |
| EGLint attribute, |
| EGLint* value) { |
| GL_SERVICE_LOG("eglQueryContext" |
| << "(" << dpy << ", " << ctx << ", " << attribute << ", " |
| << static_cast<const void*>(value) << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglQueryContextFn(dpy, ctx, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static const char* GL_BINDING_CALL |
| Debug_eglQueryString(EGLDisplay dpy, EGLint name) { |
| GL_SERVICE_LOG("eglQueryString" |
| << "(" << dpy << ", " << name << ")"); |
| const char* result = g_driver_egl.debug_fn.eglQueryStringFn(dpy, name); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglQuerySurface(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| EGLint* value) { |
| GL_SERVICE_LOG("eglQuerySurface" |
| << "(" << dpy << ", " << surface << ", " << attribute << ", " |
| << static_cast<const void*>(value) << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglQuerySurfaceFn(dpy, surface, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglQuerySurfacePointerANGLE(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| void** value) { |
| GL_SERVICE_LOG("eglQuerySurfacePointerANGLE" |
| << "(" << dpy << ", " << surface << ", " << attribute << ", " |
| << value << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglQuerySurfacePointerANGLEFn( |
| dpy, surface, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer) { |
| GL_SERVICE_LOG("eglReleaseTexImage" |
| << "(" << dpy << ", " << surface << ", " << buffer << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglReleaseTexImageFn(dpy, surface, buffer); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglReleaseThread(void) { |
| GL_SERVICE_LOG("eglReleaseThread" |
| << "(" |
| << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglReleaseThreadFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglSurfaceAttrib(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| EGLint value) { |
| GL_SERVICE_LOG("eglSurfaceAttrib" |
| << "(" << dpy << ", " << surface << ", " << attribute << ", " |
| << value << ")"); |
| EGLBoolean result = |
| g_driver_egl.debug_fn.eglSurfaceAttribFn(dpy, surface, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) { |
| GL_SERVICE_LOG("eglSwapBuffers" |
| << "(" << dpy << ", " << surface << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglSwapBuffersFn(dpy, surface); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL |
| Debug_eglSwapInterval(EGLDisplay dpy, EGLint interval) { |
| GL_SERVICE_LOG("eglSwapInterval" |
| << "(" << dpy << ", " << interval << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglSwapIntervalFn(dpy, interval); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglTerminate(EGLDisplay dpy) { |
| GL_SERVICE_LOG("eglTerminate" |
| << "(" << dpy << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglTerminateFn(dpy); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglWaitClient(void) { |
| GL_SERVICE_LOG("eglWaitClient" |
| << "(" |
| << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglWaitClientFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglWaitGL(void) { |
| GL_SERVICE_LOG("eglWaitGL" |
| << "(" |
| << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglWaitGLFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLBoolean GL_BINDING_CALL Debug_eglWaitNative(EGLint engine) { |
| GL_SERVICE_LOG("eglWaitNative" |
| << "(" << engine << ")"); |
| EGLBoolean result = g_driver_egl.debug_fn.eglWaitNativeFn(engine); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static EGLint GL_BINDING_CALL |
| Debug_eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags) { |
| GL_SERVICE_LOG("eglWaitSyncKHR" |
| << "(" << dpy << ", " << sync << ", " << flags << ")"); |
| EGLint result = g_driver_egl.debug_fn.eglWaitSyncKHRFn(dpy, sync, flags); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| } // extern "C" |
| |
| void DriverEGL::InitializeDebugBindings() { |
| if (!debug_fn.eglBindAPIFn) { |
| debug_fn.eglBindAPIFn = fn.eglBindAPIFn; |
| fn.eglBindAPIFn = Debug_eglBindAPI; |
| } |
| if (!debug_fn.eglBindTexImageFn) { |
| debug_fn.eglBindTexImageFn = fn.eglBindTexImageFn; |
| fn.eglBindTexImageFn = Debug_eglBindTexImage; |
| } |
| if (!debug_fn.eglChooseConfigFn) { |
| debug_fn.eglChooseConfigFn = fn.eglChooseConfigFn; |
| fn.eglChooseConfigFn = Debug_eglChooseConfig; |
| } |
| if (!debug_fn.eglClientWaitSyncKHRFn) { |
| debug_fn.eglClientWaitSyncKHRFn = fn.eglClientWaitSyncKHRFn; |
| fn.eglClientWaitSyncKHRFn = Debug_eglClientWaitSyncKHR; |
| } |
| if (!debug_fn.eglCopyBuffersFn) { |
| debug_fn.eglCopyBuffersFn = fn.eglCopyBuffersFn; |
| fn.eglCopyBuffersFn = Debug_eglCopyBuffers; |
| } |
| if (!debug_fn.eglCreateContextFn) { |
| debug_fn.eglCreateContextFn = fn.eglCreateContextFn; |
| fn.eglCreateContextFn = Debug_eglCreateContext; |
| } |
| if (!debug_fn.eglCreateImageKHRFn) { |
| debug_fn.eglCreateImageKHRFn = fn.eglCreateImageKHRFn; |
| fn.eglCreateImageKHRFn = Debug_eglCreateImageKHR; |
| } |
| if (!debug_fn.eglCreatePbufferFromClientBufferFn) { |
| debug_fn.eglCreatePbufferFromClientBufferFn = |
| fn.eglCreatePbufferFromClientBufferFn; |
| fn.eglCreatePbufferFromClientBufferFn = |
| Debug_eglCreatePbufferFromClientBuffer; |
| } |
| if (!debug_fn.eglCreatePbufferSurfaceFn) { |
| debug_fn.eglCreatePbufferSurfaceFn = fn.eglCreatePbufferSurfaceFn; |
| fn.eglCreatePbufferSurfaceFn = Debug_eglCreatePbufferSurface; |
| } |
| if (!debug_fn.eglCreatePixmapSurfaceFn) { |
| debug_fn.eglCreatePixmapSurfaceFn = fn.eglCreatePixmapSurfaceFn; |
| fn.eglCreatePixmapSurfaceFn = Debug_eglCreatePixmapSurface; |
| } |
| if (!debug_fn.eglCreateSyncKHRFn) { |
| debug_fn.eglCreateSyncKHRFn = fn.eglCreateSyncKHRFn; |
| fn.eglCreateSyncKHRFn = Debug_eglCreateSyncKHR; |
| } |
| if (!debug_fn.eglCreateWindowSurfaceFn) { |
| debug_fn.eglCreateWindowSurfaceFn = fn.eglCreateWindowSurfaceFn; |
| fn.eglCreateWindowSurfaceFn = Debug_eglCreateWindowSurface; |
| } |
| if (!debug_fn.eglDestroyContextFn) { |
| debug_fn.eglDestroyContextFn = fn.eglDestroyContextFn; |
| fn.eglDestroyContextFn = Debug_eglDestroyContext; |
| } |
| if (!debug_fn.eglDestroyImageKHRFn) { |
| debug_fn.eglDestroyImageKHRFn = fn.eglDestroyImageKHRFn; |
| fn.eglDestroyImageKHRFn = Debug_eglDestroyImageKHR; |
| } |
| if (!debug_fn.eglDestroySurfaceFn) { |
| debug_fn.eglDestroySurfaceFn = fn.eglDestroySurfaceFn; |
| fn.eglDestroySurfaceFn = Debug_eglDestroySurface; |
| } |
| if (!debug_fn.eglDestroySyncKHRFn) { |
| debug_fn.eglDestroySyncKHRFn = fn.eglDestroySyncKHRFn; |
| fn.eglDestroySyncKHRFn = Debug_eglDestroySyncKHR; |
| } |
| if (!debug_fn.eglGetConfigAttribFn) { |
| debug_fn.eglGetConfigAttribFn = fn.eglGetConfigAttribFn; |
| fn.eglGetConfigAttribFn = Debug_eglGetConfigAttrib; |
| } |
| if (!debug_fn.eglGetConfigsFn) { |
| debug_fn.eglGetConfigsFn = fn.eglGetConfigsFn; |
| fn.eglGetConfigsFn = Debug_eglGetConfigs; |
| } |
| if (!debug_fn.eglGetCurrentContextFn) { |
| debug_fn.eglGetCurrentContextFn = fn.eglGetCurrentContextFn; |
| fn.eglGetCurrentContextFn = Debug_eglGetCurrentContext; |
| } |
| if (!debug_fn.eglGetCurrentDisplayFn) { |
| debug_fn.eglGetCurrentDisplayFn = fn.eglGetCurrentDisplayFn; |
| fn.eglGetCurrentDisplayFn = Debug_eglGetCurrentDisplay; |
| } |
| if (!debug_fn.eglGetCurrentSurfaceFn) { |
| debug_fn.eglGetCurrentSurfaceFn = fn.eglGetCurrentSurfaceFn; |
| fn.eglGetCurrentSurfaceFn = Debug_eglGetCurrentSurface; |
| } |
| if (!debug_fn.eglGetDisplayFn) { |
| debug_fn.eglGetDisplayFn = fn.eglGetDisplayFn; |
| fn.eglGetDisplayFn = Debug_eglGetDisplay; |
| } |
| if (!debug_fn.eglGetErrorFn) { |
| debug_fn.eglGetErrorFn = fn.eglGetErrorFn; |
| fn.eglGetErrorFn = Debug_eglGetError; |
| } |
| if (!debug_fn.eglGetPlatformDisplayEXTFn) { |
| debug_fn.eglGetPlatformDisplayEXTFn = fn.eglGetPlatformDisplayEXTFn; |
| fn.eglGetPlatformDisplayEXTFn = Debug_eglGetPlatformDisplayEXT; |
| } |
| if (!debug_fn.eglGetProcAddressFn) { |
| debug_fn.eglGetProcAddressFn = fn.eglGetProcAddressFn; |
| fn.eglGetProcAddressFn = Debug_eglGetProcAddress; |
| } |
| if (!debug_fn.eglGetSyncAttribKHRFn) { |
| debug_fn.eglGetSyncAttribKHRFn = fn.eglGetSyncAttribKHRFn; |
| fn.eglGetSyncAttribKHRFn = Debug_eglGetSyncAttribKHR; |
| } |
| if (!debug_fn.eglGetSyncValuesCHROMIUMFn) { |
| debug_fn.eglGetSyncValuesCHROMIUMFn = fn.eglGetSyncValuesCHROMIUMFn; |
| fn.eglGetSyncValuesCHROMIUMFn = Debug_eglGetSyncValuesCHROMIUM; |
| } |
| if (!debug_fn.eglInitializeFn) { |
| debug_fn.eglInitializeFn = fn.eglInitializeFn; |
| fn.eglInitializeFn = Debug_eglInitialize; |
| } |
| if (!debug_fn.eglMakeCurrentFn) { |
| debug_fn.eglMakeCurrentFn = fn.eglMakeCurrentFn; |
| fn.eglMakeCurrentFn = Debug_eglMakeCurrent; |
| } |
| if (!debug_fn.eglPostSubBufferNVFn) { |
| debug_fn.eglPostSubBufferNVFn = fn.eglPostSubBufferNVFn; |
| fn.eglPostSubBufferNVFn = Debug_eglPostSubBufferNV; |
| } |
| if (!debug_fn.eglQueryAPIFn) { |
| debug_fn.eglQueryAPIFn = fn.eglQueryAPIFn; |
| fn.eglQueryAPIFn = Debug_eglQueryAPI; |
| } |
| if (!debug_fn.eglQueryContextFn) { |
| debug_fn.eglQueryContextFn = fn.eglQueryContextFn; |
| fn.eglQueryContextFn = Debug_eglQueryContext; |
| } |
| if (!debug_fn.eglQueryStringFn) { |
| debug_fn.eglQueryStringFn = fn.eglQueryStringFn; |
| fn.eglQueryStringFn = Debug_eglQueryString; |
| } |
| if (!debug_fn.eglQuerySurfaceFn) { |
| debug_fn.eglQuerySurfaceFn = fn.eglQuerySurfaceFn; |
| fn.eglQuerySurfaceFn = Debug_eglQuerySurface; |
| } |
| if (!debug_fn.eglQuerySurfacePointerANGLEFn) { |
| debug_fn.eglQuerySurfacePointerANGLEFn = fn.eglQuerySurfacePointerANGLEFn; |
| fn.eglQuerySurfacePointerANGLEFn = Debug_eglQuerySurfacePointerANGLE; |
| } |
| if (!debug_fn.eglReleaseTexImageFn) { |
| debug_fn.eglReleaseTexImageFn = fn.eglReleaseTexImageFn; |
| fn.eglReleaseTexImageFn = Debug_eglReleaseTexImage; |
| } |
| if (!debug_fn.eglReleaseThreadFn) { |
| debug_fn.eglReleaseThreadFn = fn.eglReleaseThreadFn; |
| fn.eglReleaseThreadFn = Debug_eglReleaseThread; |
| } |
| if (!debug_fn.eglSurfaceAttribFn) { |
| debug_fn.eglSurfaceAttribFn = fn.eglSurfaceAttribFn; |
| fn.eglSurfaceAttribFn = Debug_eglSurfaceAttrib; |
| } |
| if (!debug_fn.eglSwapBuffersFn) { |
| debug_fn.eglSwapBuffersFn = fn.eglSwapBuffersFn; |
| fn.eglSwapBuffersFn = Debug_eglSwapBuffers; |
| } |
| if (!debug_fn.eglSwapIntervalFn) { |
| debug_fn.eglSwapIntervalFn = fn.eglSwapIntervalFn; |
| fn.eglSwapIntervalFn = Debug_eglSwapInterval; |
| } |
| if (!debug_fn.eglTerminateFn) { |
| debug_fn.eglTerminateFn = fn.eglTerminateFn; |
| fn.eglTerminateFn = Debug_eglTerminate; |
| } |
| if (!debug_fn.eglWaitClientFn) { |
| debug_fn.eglWaitClientFn = fn.eglWaitClientFn; |
| fn.eglWaitClientFn = Debug_eglWaitClient; |
| } |
| if (!debug_fn.eglWaitGLFn) { |
| debug_fn.eglWaitGLFn = fn.eglWaitGLFn; |
| fn.eglWaitGLFn = Debug_eglWaitGL; |
| } |
| if (!debug_fn.eglWaitNativeFn) { |
| debug_fn.eglWaitNativeFn = fn.eglWaitNativeFn; |
| fn.eglWaitNativeFn = Debug_eglWaitNative; |
| } |
| if (!debug_fn.eglWaitSyncKHRFn) { |
| debug_fn.eglWaitSyncKHRFn = fn.eglWaitSyncKHRFn; |
| fn.eglWaitSyncKHRFn = Debug_eglWaitSyncKHR; |
| } |
| g_debugBindingsInitialized = true; |
| } |
| |
| void DriverEGL::ClearBindings() { |
| memset(this, 0, sizeof(*this)); |
| } |
| |
| EGLBoolean EGLApiBase::eglBindAPIFn(EGLenum api) { |
| return driver_->fn.eglBindAPIFn(api); |
| } |
| |
| EGLBoolean EGLApiBase::eglBindTexImageFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint buffer) { |
| return driver_->fn.eglBindTexImageFn(dpy, surface, buffer); |
| } |
| |
| EGLBoolean EGLApiBase::eglChooseConfigFn(EGLDisplay dpy, |
| const EGLint* attrib_list, |
| EGLConfig* configs, |
| EGLint config_size, |
| EGLint* num_config) { |
| return driver_->fn.eglChooseConfigFn(dpy, attrib_list, configs, config_size, |
| num_config); |
| } |
| |
| EGLint EGLApiBase::eglClientWaitSyncKHRFn(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint flags, |
| EGLTimeKHR timeout) { |
| return driver_->fn.eglClientWaitSyncKHRFn(dpy, sync, flags, timeout); |
| } |
| |
| EGLBoolean EGLApiBase::eglCopyBuffersFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLNativePixmapType target) { |
| return driver_->fn.eglCopyBuffersFn(dpy, surface, target); |
| } |
| |
| EGLContext EGLApiBase::eglCreateContextFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLContext share_context, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreateContextFn(dpy, config, share_context, |
| attrib_list); |
| } |
| |
| EGLImageKHR EGLApiBase::eglCreateImageKHRFn(EGLDisplay dpy, |
| EGLContext ctx, |
| EGLenum target, |
| EGLClientBuffer buffer, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreateImageKHRFn(dpy, ctx, target, buffer, attrib_list); |
| } |
| |
| EGLSurface EGLApiBase::eglCreatePbufferFromClientBufferFn( |
| EGLDisplay dpy, |
| EGLenum buftype, |
| void* buffer, |
| EGLConfig config, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreatePbufferFromClientBufferFn(dpy, buftype, buffer, |
| config, attrib_list); |
| } |
| |
| EGLSurface EGLApiBase::eglCreatePbufferSurfaceFn(EGLDisplay dpy, |
| EGLConfig config, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreatePbufferSurfaceFn(dpy, config, attrib_list); |
| } |
| |
| EGLSurface EGLApiBase::eglCreatePixmapSurfaceFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLNativePixmapType pixmap, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreatePixmapSurfaceFn(dpy, config, pixmap, attrib_list); |
| } |
| |
| EGLSyncKHR EGLApiBase::eglCreateSyncKHRFn(EGLDisplay dpy, |
| EGLenum type, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreateSyncKHRFn(dpy, type, attrib_list); |
| } |
| |
| EGLSurface EGLApiBase::eglCreateWindowSurfaceFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLNativeWindowType win, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglCreateWindowSurfaceFn(dpy, config, win, attrib_list); |
| } |
| |
| EGLBoolean EGLApiBase::eglDestroyContextFn(EGLDisplay dpy, EGLContext ctx) { |
| return driver_->fn.eglDestroyContextFn(dpy, ctx); |
| } |
| |
| EGLBoolean EGLApiBase::eglDestroyImageKHRFn(EGLDisplay dpy, EGLImageKHR image) { |
| return driver_->fn.eglDestroyImageKHRFn(dpy, image); |
| } |
| |
| EGLBoolean EGLApiBase::eglDestroySurfaceFn(EGLDisplay dpy, EGLSurface surface) { |
| return driver_->fn.eglDestroySurfaceFn(dpy, surface); |
| } |
| |
| EGLBoolean EGLApiBase::eglDestroySyncKHRFn(EGLDisplay dpy, EGLSyncKHR sync) { |
| return driver_->fn.eglDestroySyncKHRFn(dpy, sync); |
| } |
| |
| EGLBoolean EGLApiBase::eglGetConfigAttribFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLint attribute, |
| EGLint* value) { |
| return driver_->fn.eglGetConfigAttribFn(dpy, config, attribute, value); |
| } |
| |
| EGLBoolean EGLApiBase::eglGetConfigsFn(EGLDisplay dpy, |
| EGLConfig* configs, |
| EGLint config_size, |
| EGLint* num_config) { |
| return driver_->fn.eglGetConfigsFn(dpy, configs, config_size, num_config); |
| } |
| |
| EGLContext EGLApiBase::eglGetCurrentContextFn(void) { |
| return driver_->fn.eglGetCurrentContextFn(); |
| } |
| |
| EGLDisplay EGLApiBase::eglGetCurrentDisplayFn(void) { |
| return driver_->fn.eglGetCurrentDisplayFn(); |
| } |
| |
| EGLSurface EGLApiBase::eglGetCurrentSurfaceFn(EGLint readdraw) { |
| return driver_->fn.eglGetCurrentSurfaceFn(readdraw); |
| } |
| |
| EGLDisplay EGLApiBase::eglGetDisplayFn(EGLNativeDisplayType display_id) { |
| return driver_->fn.eglGetDisplayFn(display_id); |
| } |
| |
| EGLint EGLApiBase::eglGetErrorFn(void) { |
| return driver_->fn.eglGetErrorFn(); |
| } |
| |
| EGLDisplay EGLApiBase::eglGetPlatformDisplayEXTFn(EGLenum platform, |
| void* native_display, |
| const EGLint* attrib_list) { |
| return driver_->fn.eglGetPlatformDisplayEXTFn(platform, native_display, |
| attrib_list); |
| } |
| |
| __eglMustCastToProperFunctionPointerType EGLApiBase::eglGetProcAddressFn( |
| const char* procname) { |
| return driver_->fn.eglGetProcAddressFn(procname); |
| } |
| |
| EGLBoolean EGLApiBase::eglGetSyncAttribKHRFn(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint attribute, |
| EGLint* value) { |
| return driver_->fn.eglGetSyncAttribKHRFn(dpy, sync, attribute, value); |
| } |
| |
| EGLBoolean EGLApiBase::eglGetSyncValuesCHROMIUMFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLuint64CHROMIUM* ust, |
| EGLuint64CHROMIUM* msc, |
| EGLuint64CHROMIUM* sbc) { |
| return driver_->fn.eglGetSyncValuesCHROMIUMFn(dpy, surface, ust, msc, sbc); |
| } |
| |
| EGLBoolean EGLApiBase::eglInitializeFn(EGLDisplay dpy, |
| EGLint* major, |
| EGLint* minor) { |
| return driver_->fn.eglInitializeFn(dpy, major, minor); |
| } |
| |
| EGLBoolean EGLApiBase::eglMakeCurrentFn(EGLDisplay dpy, |
| EGLSurface draw, |
| EGLSurface read, |
| EGLContext ctx) { |
| return driver_->fn.eglMakeCurrentFn(dpy, draw, read, ctx); |
| } |
| |
| EGLBoolean EGLApiBase::eglPostSubBufferNVFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint x, |
| EGLint y, |
| EGLint width, |
| EGLint height) { |
| return driver_->fn.eglPostSubBufferNVFn(dpy, surface, x, y, width, height); |
| } |
| |
| EGLenum EGLApiBase::eglQueryAPIFn(void) { |
| return driver_->fn.eglQueryAPIFn(); |
| } |
| |
| EGLBoolean EGLApiBase::eglQueryContextFn(EGLDisplay dpy, |
| EGLContext ctx, |
| EGLint attribute, |
| EGLint* value) { |
| return driver_->fn.eglQueryContextFn(dpy, ctx, attribute, value); |
| } |
| |
| const char* EGLApiBase::eglQueryStringFn(EGLDisplay dpy, EGLint name) { |
| return driver_->fn.eglQueryStringFn(dpy, name); |
| } |
| |
| EGLBoolean EGLApiBase::eglQuerySurfaceFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| EGLint* value) { |
| return driver_->fn.eglQuerySurfaceFn(dpy, surface, attribute, value); |
| } |
| |
| EGLBoolean EGLApiBase::eglQuerySurfacePointerANGLEFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| void** value) { |
| return driver_->fn.eglQuerySurfacePointerANGLEFn(dpy, surface, attribute, |
| value); |
| } |
| |
| EGLBoolean EGLApiBase::eglReleaseTexImageFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint buffer) { |
| return driver_->fn.eglReleaseTexImageFn(dpy, surface, buffer); |
| } |
| |
| EGLBoolean EGLApiBase::eglReleaseThreadFn(void) { |
| return driver_->fn.eglReleaseThreadFn(); |
| } |
| |
| EGLBoolean EGLApiBase::eglSurfaceAttribFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| EGLint value) { |
| return driver_->fn.eglSurfaceAttribFn(dpy, surface, attribute, value); |
| } |
| |
| EGLBoolean EGLApiBase::eglSwapBuffersFn(EGLDisplay dpy, EGLSurface surface) { |
| return driver_->fn.eglSwapBuffersFn(dpy, surface); |
| } |
| |
| EGLBoolean EGLApiBase::eglSwapIntervalFn(EGLDisplay dpy, EGLint interval) { |
| return driver_->fn.eglSwapIntervalFn(dpy, interval); |
| } |
| |
| EGLBoolean EGLApiBase::eglTerminateFn(EGLDisplay dpy) { |
| return driver_->fn.eglTerminateFn(dpy); |
| } |
| |
| EGLBoolean EGLApiBase::eglWaitClientFn(void) { |
| return driver_->fn.eglWaitClientFn(); |
| } |
| |
| EGLBoolean EGLApiBase::eglWaitGLFn(void) { |
| return driver_->fn.eglWaitGLFn(); |
| } |
| |
| EGLBoolean EGLApiBase::eglWaitNativeFn(EGLint engine) { |
| return driver_->fn.eglWaitNativeFn(engine); |
| } |
| |
| EGLint EGLApiBase::eglWaitSyncKHRFn(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint flags) { |
| return driver_->fn.eglWaitSyncKHRFn(dpy, sync, flags); |
| } |
| |
| EGLBoolean TraceEGLApi::eglBindAPIFn(EGLenum api) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglBindAPI") |
| return egl_api_->eglBindAPIFn(api); |
| } |
| |
| EGLBoolean TraceEGLApi::eglBindTexImageFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint buffer) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglBindTexImage") |
| return egl_api_->eglBindTexImageFn(dpy, surface, buffer); |
| } |
| |
| EGLBoolean TraceEGLApi::eglChooseConfigFn(EGLDisplay dpy, |
| const EGLint* attrib_list, |
| EGLConfig* configs, |
| EGLint config_size, |
| EGLint* num_config) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglChooseConfig") |
| return egl_api_->eglChooseConfigFn(dpy, attrib_list, configs, config_size, |
| num_config); |
| } |
| |
| EGLint TraceEGLApi::eglClientWaitSyncKHRFn(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint flags, |
| EGLTimeKHR timeout) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglClientWaitSyncKHR") |
| return egl_api_->eglClientWaitSyncKHRFn(dpy, sync, flags, timeout); |
| } |
| |
| EGLBoolean TraceEGLApi::eglCopyBuffersFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLNativePixmapType target) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCopyBuffers") |
| return egl_api_->eglCopyBuffersFn(dpy, surface, target); |
| } |
| |
| EGLContext TraceEGLApi::eglCreateContextFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLContext share_context, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCreateContext") |
| return egl_api_->eglCreateContextFn(dpy, config, share_context, attrib_list); |
| } |
| |
| EGLImageKHR TraceEGLApi::eglCreateImageKHRFn(EGLDisplay dpy, |
| EGLContext ctx, |
| EGLenum target, |
| EGLClientBuffer buffer, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCreateImageKHR") |
| return egl_api_->eglCreateImageKHRFn(dpy, ctx, target, buffer, attrib_list); |
| } |
| |
| EGLSurface TraceEGLApi::eglCreatePbufferFromClientBufferFn( |
| EGLDisplay dpy, |
| EGLenum buftype, |
| void* buffer, |
| EGLConfig config, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", |
| "TraceGLAPI::eglCreatePbufferFromClientBuffer") |
| return egl_api_->eglCreatePbufferFromClientBufferFn(dpy, buftype, buffer, |
| config, attrib_list); |
| } |
| |
| EGLSurface TraceEGLApi::eglCreatePbufferSurfaceFn(EGLDisplay dpy, |
| EGLConfig config, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCreatePbufferSurface") |
| return egl_api_->eglCreatePbufferSurfaceFn(dpy, config, attrib_list); |
| } |
| |
| EGLSurface TraceEGLApi::eglCreatePixmapSurfaceFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLNativePixmapType pixmap, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCreatePixmapSurface") |
| return egl_api_->eglCreatePixmapSurfaceFn(dpy, config, pixmap, attrib_list); |
| } |
| |
| EGLSyncKHR TraceEGLApi::eglCreateSyncKHRFn(EGLDisplay dpy, |
| EGLenum type, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCreateSyncKHR") |
| return egl_api_->eglCreateSyncKHRFn(dpy, type, attrib_list); |
| } |
| |
| EGLSurface TraceEGLApi::eglCreateWindowSurfaceFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLNativeWindowType win, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglCreateWindowSurface") |
| return egl_api_->eglCreateWindowSurfaceFn(dpy, config, win, attrib_list); |
| } |
| |
| EGLBoolean TraceEGLApi::eglDestroyContextFn(EGLDisplay dpy, EGLContext ctx) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglDestroyContext") |
| return egl_api_->eglDestroyContextFn(dpy, ctx); |
| } |
| |
| EGLBoolean TraceEGLApi::eglDestroyImageKHRFn(EGLDisplay dpy, |
| EGLImageKHR image) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglDestroyImageKHR") |
| return egl_api_->eglDestroyImageKHRFn(dpy, image); |
| } |
| |
| EGLBoolean TraceEGLApi::eglDestroySurfaceFn(EGLDisplay dpy, |
| EGLSurface surface) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglDestroySurface") |
| return egl_api_->eglDestroySurfaceFn(dpy, surface); |
| } |
| |
| EGLBoolean TraceEGLApi::eglDestroySyncKHRFn(EGLDisplay dpy, EGLSyncKHR sync) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglDestroySyncKHR") |
| return egl_api_->eglDestroySyncKHRFn(dpy, sync); |
| } |
| |
| EGLBoolean TraceEGLApi::eglGetConfigAttribFn(EGLDisplay dpy, |
| EGLConfig config, |
| EGLint attribute, |
| EGLint* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetConfigAttrib") |
| return egl_api_->eglGetConfigAttribFn(dpy, config, attribute, value); |
| } |
| |
| EGLBoolean TraceEGLApi::eglGetConfigsFn(EGLDisplay dpy, |
| EGLConfig* configs, |
| EGLint config_size, |
| EGLint* num_config) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetConfigs") |
| return egl_api_->eglGetConfigsFn(dpy, configs, config_size, num_config); |
| } |
| |
| EGLContext TraceEGLApi::eglGetCurrentContextFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetCurrentContext") |
| return egl_api_->eglGetCurrentContextFn(); |
| } |
| |
| EGLDisplay TraceEGLApi::eglGetCurrentDisplayFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetCurrentDisplay") |
| return egl_api_->eglGetCurrentDisplayFn(); |
| } |
| |
| EGLSurface TraceEGLApi::eglGetCurrentSurfaceFn(EGLint readdraw) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetCurrentSurface") |
| return egl_api_->eglGetCurrentSurfaceFn(readdraw); |
| } |
| |
| EGLDisplay TraceEGLApi::eglGetDisplayFn(EGLNativeDisplayType display_id) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetDisplay") |
| return egl_api_->eglGetDisplayFn(display_id); |
| } |
| |
| EGLint TraceEGLApi::eglGetErrorFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetError") |
| return egl_api_->eglGetErrorFn(); |
| } |
| |
| EGLDisplay TraceEGLApi::eglGetPlatformDisplayEXTFn(EGLenum platform, |
| void* native_display, |
| const EGLint* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetPlatformDisplayEXT") |
| return egl_api_->eglGetPlatformDisplayEXTFn(platform, native_display, |
| attrib_list); |
| } |
| |
| __eglMustCastToProperFunctionPointerType TraceEGLApi::eglGetProcAddressFn( |
| const char* procname) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetProcAddress") |
| return egl_api_->eglGetProcAddressFn(procname); |
| } |
| |
| EGLBoolean TraceEGLApi::eglGetSyncAttribKHRFn(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint attribute, |
| EGLint* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetSyncAttribKHR") |
| return egl_api_->eglGetSyncAttribKHRFn(dpy, sync, attribute, value); |
| } |
| |
| EGLBoolean TraceEGLApi::eglGetSyncValuesCHROMIUMFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLuint64CHROMIUM* ust, |
| EGLuint64CHROMIUM* msc, |
| EGLuint64CHROMIUM* sbc) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglGetSyncValuesCHROMIUM") |
| return egl_api_->eglGetSyncValuesCHROMIUMFn(dpy, surface, ust, msc, sbc); |
| } |
| |
| EGLBoolean TraceEGLApi::eglInitializeFn(EGLDisplay dpy, |
| EGLint* major, |
| EGLint* minor) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglInitialize") |
| return egl_api_->eglInitializeFn(dpy, major, minor); |
| } |
| |
| EGLBoolean TraceEGLApi::eglMakeCurrentFn(EGLDisplay dpy, |
| EGLSurface draw, |
| EGLSurface read, |
| EGLContext ctx) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglMakeCurrent") |
| return egl_api_->eglMakeCurrentFn(dpy, draw, read, ctx); |
| } |
| |
| EGLBoolean TraceEGLApi::eglPostSubBufferNVFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint x, |
| EGLint y, |
| EGLint width, |
| EGLint height) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglPostSubBufferNV") |
| return egl_api_->eglPostSubBufferNVFn(dpy, surface, x, y, width, height); |
| } |
| |
| EGLenum TraceEGLApi::eglQueryAPIFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglQueryAPI") |
| return egl_api_->eglQueryAPIFn(); |
| } |
| |
| EGLBoolean TraceEGLApi::eglQueryContextFn(EGLDisplay dpy, |
| EGLContext ctx, |
| EGLint attribute, |
| EGLint* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglQueryContext") |
| return egl_api_->eglQueryContextFn(dpy, ctx, attribute, value); |
| } |
| |
| const char* TraceEGLApi::eglQueryStringFn(EGLDisplay dpy, EGLint name) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglQueryString") |
| return egl_api_->eglQueryStringFn(dpy, name); |
| } |
| |
| EGLBoolean TraceEGLApi::eglQuerySurfaceFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| EGLint* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglQuerySurface") |
| return egl_api_->eglQuerySurfaceFn(dpy, surface, attribute, value); |
| } |
| |
| EGLBoolean TraceEGLApi::eglQuerySurfacePointerANGLEFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| void** value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", |
| "TraceGLAPI::eglQuerySurfacePointerANGLE") |
| return egl_api_->eglQuerySurfacePointerANGLEFn(dpy, surface, attribute, |
| value); |
| } |
| |
| EGLBoolean TraceEGLApi::eglReleaseTexImageFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint buffer) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglReleaseTexImage") |
| return egl_api_->eglReleaseTexImageFn(dpy, surface, buffer); |
| } |
| |
| EGLBoolean TraceEGLApi::eglReleaseThreadFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglReleaseThread") |
| return egl_api_->eglReleaseThreadFn(); |
| } |
| |
| EGLBoolean TraceEGLApi::eglSurfaceAttribFn(EGLDisplay dpy, |
| EGLSurface surface, |
| EGLint attribute, |
| EGLint value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglSurfaceAttrib") |
| return egl_api_->eglSurfaceAttribFn(dpy, surface, attribute, value); |
| } |
| |
| EGLBoolean TraceEGLApi::eglSwapBuffersFn(EGLDisplay dpy, EGLSurface surface) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglSwapBuffers") |
| return egl_api_->eglSwapBuffersFn(dpy, surface); |
| } |
| |
| EGLBoolean TraceEGLApi::eglSwapIntervalFn(EGLDisplay dpy, EGLint interval) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglSwapInterval") |
| return egl_api_->eglSwapIntervalFn(dpy, interval); |
| } |
| |
| EGLBoolean TraceEGLApi::eglTerminateFn(EGLDisplay dpy) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglTerminate") |
| return egl_api_->eglTerminateFn(dpy); |
| } |
| |
| EGLBoolean TraceEGLApi::eglWaitClientFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglWaitClient") |
| return egl_api_->eglWaitClientFn(); |
| } |
| |
| EGLBoolean TraceEGLApi::eglWaitGLFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglWaitGL") |
| return egl_api_->eglWaitGLFn(); |
| } |
| |
| EGLBoolean TraceEGLApi::eglWaitNativeFn(EGLint engine) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglWaitNative") |
| return egl_api_->eglWaitNativeFn(engine); |
| } |
| |
| EGLint TraceEGLApi::eglWaitSyncKHRFn(EGLDisplay dpy, |
| EGLSyncKHR sync, |
| EGLint flags) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::eglWaitSyncKHR") |
| return egl_api_->eglWaitSyncKHRFn(dpy, sync, flags); |
| } |
| |
| } // namespace gfx |