| // 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_enums.h" |
| #include "ui/gl/gl_glx_api_implementation.h" |
| #include "ui/gl/gl_implementation.h" |
| #include "ui/gl/gl_version_info.h" |
| |
| namespace gfx { |
| |
| static bool g_debugBindingsInitialized; |
| DriverGLX g_driver_glx; |
| |
| void DriverGLX::InitializeStaticBindings() { |
| fn.glXBindTexImageEXTFn = 0; |
| fn.glXChooseFBConfigFn = reinterpret_cast<glXChooseFBConfigProc>( |
| GetGLProcAddress("glXChooseFBConfig")); |
| fn.glXChooseVisualFn = reinterpret_cast<glXChooseVisualProc>( |
| GetGLProcAddress("glXChooseVisual")); |
| fn.glXCopyContextFn = |
| reinterpret_cast<glXCopyContextProc>(GetGLProcAddress("glXCopyContext")); |
| fn.glXCopySubBufferMESAFn = 0; |
| fn.glXCreateContextFn = reinterpret_cast<glXCreateContextProc>( |
| GetGLProcAddress("glXCreateContext")); |
| fn.glXCreateContextAttribsARBFn = 0; |
| fn.glXCreateGLXPixmapFn = reinterpret_cast<glXCreateGLXPixmapProc>( |
| GetGLProcAddress("glXCreateGLXPixmap")); |
| fn.glXCreateNewContextFn = reinterpret_cast<glXCreateNewContextProc>( |
| GetGLProcAddress("glXCreateNewContext")); |
| fn.glXCreatePbufferFn = reinterpret_cast<glXCreatePbufferProc>( |
| GetGLProcAddress("glXCreatePbuffer")); |
| fn.glXCreatePixmapFn = reinterpret_cast<glXCreatePixmapProc>( |
| GetGLProcAddress("glXCreatePixmap")); |
| fn.glXCreateWindowFn = reinterpret_cast<glXCreateWindowProc>( |
| GetGLProcAddress("glXCreateWindow")); |
| fn.glXDestroyContextFn = reinterpret_cast<glXDestroyContextProc>( |
| GetGLProcAddress("glXDestroyContext")); |
| fn.glXDestroyGLXPixmapFn = reinterpret_cast<glXDestroyGLXPixmapProc>( |
| GetGLProcAddress("glXDestroyGLXPixmap")); |
| fn.glXDestroyPbufferFn = reinterpret_cast<glXDestroyPbufferProc>( |
| GetGLProcAddress("glXDestroyPbuffer")); |
| fn.glXDestroyPixmapFn = reinterpret_cast<glXDestroyPixmapProc>( |
| GetGLProcAddress("glXDestroyPixmap")); |
| fn.glXDestroyWindowFn = reinterpret_cast<glXDestroyWindowProc>( |
| GetGLProcAddress("glXDestroyWindow")); |
| fn.glXGetClientStringFn = reinterpret_cast<glXGetClientStringProc>( |
| GetGLProcAddress("glXGetClientString")); |
| fn.glXGetConfigFn = |
| reinterpret_cast<glXGetConfigProc>(GetGLProcAddress("glXGetConfig")); |
| fn.glXGetCurrentContextFn = reinterpret_cast<glXGetCurrentContextProc>( |
| GetGLProcAddress("glXGetCurrentContext")); |
| fn.glXGetCurrentDisplayFn = reinterpret_cast<glXGetCurrentDisplayProc>( |
| GetGLProcAddress("glXGetCurrentDisplay")); |
| fn.glXGetCurrentDrawableFn = reinterpret_cast<glXGetCurrentDrawableProc>( |
| GetGLProcAddress("glXGetCurrentDrawable")); |
| fn.glXGetCurrentReadDrawableFn = |
| reinterpret_cast<glXGetCurrentReadDrawableProc>( |
| GetGLProcAddress("glXGetCurrentReadDrawable")); |
| fn.glXGetFBConfigAttribFn = reinterpret_cast<glXGetFBConfigAttribProc>( |
| GetGLProcAddress("glXGetFBConfigAttrib")); |
| fn.glXGetFBConfigFromVisualSGIXFn = 0; |
| fn.glXGetFBConfigsFn = reinterpret_cast<glXGetFBConfigsProc>( |
| GetGLProcAddress("glXGetFBConfigs")); |
| fn.glXGetMscRateOMLFn = 0; |
| fn.glXGetSelectedEventFn = reinterpret_cast<glXGetSelectedEventProc>( |
| GetGLProcAddress("glXGetSelectedEvent")); |
| fn.glXGetSyncValuesOMLFn = 0; |
| fn.glXGetVisualFromFBConfigFn = |
| reinterpret_cast<glXGetVisualFromFBConfigProc>( |
| GetGLProcAddress("glXGetVisualFromFBConfig")); |
| fn.glXIsDirectFn = |
| reinterpret_cast<glXIsDirectProc>(GetGLProcAddress("glXIsDirect")); |
| fn.glXMakeContextCurrentFn = reinterpret_cast<glXMakeContextCurrentProc>( |
| GetGLProcAddress("glXMakeContextCurrent")); |
| fn.glXMakeCurrentFn = |
| reinterpret_cast<glXMakeCurrentProc>(GetGLProcAddress("glXMakeCurrent")); |
| fn.glXQueryContextFn = reinterpret_cast<glXQueryContextProc>( |
| GetGLProcAddress("glXQueryContext")); |
| fn.glXQueryDrawableFn = reinterpret_cast<glXQueryDrawableProc>( |
| GetGLProcAddress("glXQueryDrawable")); |
| fn.glXQueryExtensionFn = reinterpret_cast<glXQueryExtensionProc>( |
| GetGLProcAddress("glXQueryExtension")); |
| fn.glXQueryExtensionsStringFn = |
| reinterpret_cast<glXQueryExtensionsStringProc>( |
| GetGLProcAddress("glXQueryExtensionsString")); |
| fn.glXQueryServerStringFn = reinterpret_cast<glXQueryServerStringProc>( |
| GetGLProcAddress("glXQueryServerString")); |
| fn.glXQueryVersionFn = reinterpret_cast<glXQueryVersionProc>( |
| GetGLProcAddress("glXQueryVersion")); |
| fn.glXReleaseTexImageEXTFn = 0; |
| fn.glXSelectEventFn = |
| reinterpret_cast<glXSelectEventProc>(GetGLProcAddress("glXSelectEvent")); |
| fn.glXSwapBuffersFn = |
| reinterpret_cast<glXSwapBuffersProc>(GetGLProcAddress("glXSwapBuffers")); |
| fn.glXSwapIntervalEXTFn = 0; |
| fn.glXSwapIntervalMESAFn = 0; |
| fn.glXUseXFontFn = |
| reinterpret_cast<glXUseXFontProc>(GetGLProcAddress("glXUseXFont")); |
| fn.glXWaitGLFn = |
| reinterpret_cast<glXWaitGLProc>(GetGLProcAddress("glXWaitGL")); |
| fn.glXWaitVideoSyncSGIFn = 0; |
| fn.glXWaitXFn = reinterpret_cast<glXWaitXProc>(GetGLProcAddress("glXWaitX")); |
| std::string extensions(GetPlatformExtensions()); |
| extensions += " "; |
| ALLOW_UNUSED_LOCAL(extensions); |
| |
| ext.b_GLX_ARB_create_context = |
| extensions.find("GLX_ARB_create_context ") != std::string::npos; |
| ext.b_GLX_EXT_swap_control = |
| extensions.find("GLX_EXT_swap_control ") != std::string::npos; |
| ext.b_GLX_EXT_texture_from_pixmap = |
| extensions.find("GLX_EXT_texture_from_pixmap ") != std::string::npos; |
| ext.b_GLX_MESA_copy_sub_buffer = |
| extensions.find("GLX_MESA_copy_sub_buffer ") != std::string::npos; |
| ext.b_GLX_MESA_swap_control = |
| extensions.find("GLX_MESA_swap_control ") != std::string::npos; |
| ext.b_GLX_OML_sync_control = |
| extensions.find("GLX_OML_sync_control ") != std::string::npos; |
| ext.b_GLX_SGIX_fbconfig = |
| extensions.find("GLX_SGIX_fbconfig ") != std::string::npos; |
| ext.b_GLX_SGI_video_sync = |
| extensions.find("GLX_SGI_video_sync ") != std::string::npos; |
| |
| debug_fn.glXBindTexImageEXTFn = 0; |
| if (ext.b_GLX_EXT_texture_from_pixmap) { |
| fn.glXBindTexImageEXTFn = reinterpret_cast<glXBindTexImageEXTProc>( |
| GetGLProcAddress("glXBindTexImageEXT")); |
| DCHECK(fn.glXBindTexImageEXTFn); |
| } |
| |
| debug_fn.glXCopySubBufferMESAFn = 0; |
| if (ext.b_GLX_MESA_copy_sub_buffer) { |
| fn.glXCopySubBufferMESAFn = reinterpret_cast<glXCopySubBufferMESAProc>( |
| GetGLProcAddress("glXCopySubBufferMESA")); |
| DCHECK(fn.glXCopySubBufferMESAFn); |
| } |
| |
| debug_fn.glXCreateContextAttribsARBFn = 0; |
| if (ext.b_GLX_ARB_create_context) { |
| fn.glXCreateContextAttribsARBFn = |
| reinterpret_cast<glXCreateContextAttribsARBProc>( |
| GetGLProcAddress("glXCreateContextAttribsARB")); |
| DCHECK(fn.glXCreateContextAttribsARBFn); |
| } |
| |
| debug_fn.glXGetFBConfigFromVisualSGIXFn = 0; |
| if (ext.b_GLX_SGIX_fbconfig) { |
| fn.glXGetFBConfigFromVisualSGIXFn = |
| reinterpret_cast<glXGetFBConfigFromVisualSGIXProc>( |
| GetGLProcAddress("glXGetFBConfigFromVisualSGIX")); |
| DCHECK(fn.glXGetFBConfigFromVisualSGIXFn); |
| } |
| |
| debug_fn.glXGetMscRateOMLFn = 0; |
| if (ext.b_GLX_OML_sync_control) { |
| fn.glXGetMscRateOMLFn = reinterpret_cast<glXGetMscRateOMLProc>( |
| GetGLProcAddress("glXGetMscRateOML")); |
| DCHECK(fn.glXGetMscRateOMLFn); |
| } |
| |
| debug_fn.glXGetSyncValuesOMLFn = 0; |
| if (ext.b_GLX_OML_sync_control) { |
| fn.glXGetSyncValuesOMLFn = reinterpret_cast<glXGetSyncValuesOMLProc>( |
| GetGLProcAddress("glXGetSyncValuesOML")); |
| DCHECK(fn.glXGetSyncValuesOMLFn); |
| } |
| |
| debug_fn.glXReleaseTexImageEXTFn = 0; |
| if (ext.b_GLX_EXT_texture_from_pixmap) { |
| fn.glXReleaseTexImageEXTFn = reinterpret_cast<glXReleaseTexImageEXTProc>( |
| GetGLProcAddress("glXReleaseTexImageEXT")); |
| DCHECK(fn.glXReleaseTexImageEXTFn); |
| } |
| |
| debug_fn.glXSwapIntervalEXTFn = 0; |
| if (ext.b_GLX_EXT_swap_control) { |
| fn.glXSwapIntervalEXTFn = reinterpret_cast<glXSwapIntervalEXTProc>( |
| GetGLProcAddress("glXSwapIntervalEXT")); |
| DCHECK(fn.glXSwapIntervalEXTFn); |
| } |
| |
| debug_fn.glXSwapIntervalMESAFn = 0; |
| if (ext.b_GLX_MESA_swap_control) { |
| fn.glXSwapIntervalMESAFn = reinterpret_cast<glXSwapIntervalMESAProc>( |
| GetGLProcAddress("glXSwapIntervalMESA")); |
| DCHECK(fn.glXSwapIntervalMESAFn); |
| } |
| |
| debug_fn.glXWaitVideoSyncSGIFn = 0; |
| if (ext.b_GLX_SGI_video_sync) { |
| fn.glXWaitVideoSyncSGIFn = reinterpret_cast<glXWaitVideoSyncSGIProc>( |
| GetGLProcAddress("glXWaitVideoSyncSGI")); |
| DCHECK(fn.glXWaitVideoSyncSGIFn); |
| } |
| |
| if (g_debugBindingsInitialized) |
| InitializeDebugBindings(); |
| } |
| |
| extern "C" { |
| |
| static void GL_BINDING_CALL Debug_glXBindTexImageEXT(Display* dpy, |
| GLXDrawable drawable, |
| int buffer, |
| int* attribList) { |
| GL_SERVICE_LOG("glXBindTexImageEXT" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << buffer << ", " |
| << static_cast<const void*>(attribList) << ")"); |
| g_driver_glx.debug_fn.glXBindTexImageEXTFn(dpy, drawable, buffer, attribList); |
| } |
| |
| static GLXFBConfig* GL_BINDING_CALL |
| Debug_glXChooseFBConfig(Display* dpy, |
| int screen, |
| const int* attribList, |
| int* nitems) { |
| GL_SERVICE_LOG("glXChooseFBConfig" |
| << "(" << static_cast<const void*>(dpy) << ", " << screen |
| << ", " << static_cast<const void*>(attribList) << ", " |
| << static_cast<const void*>(nitems) << ")"); |
| GLXFBConfig* result = g_driver_glx.debug_fn.glXChooseFBConfigFn( |
| dpy, screen, attribList, nitems); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static XVisualInfo* GL_BINDING_CALL Debug_glXChooseVisual(Display* dpy, |
| int screen, |
| int* attribList) { |
| GL_SERVICE_LOG("glXChooseVisual" |
| << "(" << static_cast<const void*>(dpy) << ", " << screen |
| << ", " << static_cast<const void*>(attribList) << ")"); |
| XVisualInfo* result = |
| g_driver_glx.debug_fn.glXChooseVisualFn(dpy, screen, attribList); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static void GL_BINDING_CALL Debug_glXCopyContext(Display* dpy, |
| GLXContext src, |
| GLXContext dst, |
| unsigned long mask) { |
| GL_SERVICE_LOG("glXCopyContext" |
| << "(" << static_cast<const void*>(dpy) << ", " << src << ", " |
| << dst << ", " << mask << ")"); |
| g_driver_glx.debug_fn.glXCopyContextFn(dpy, src, dst, mask); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXCopySubBufferMESA(Display* dpy, |
| GLXDrawable drawable, |
| int x, |
| int y, |
| int width, |
| int height) { |
| GL_SERVICE_LOG("glXCopySubBufferMESA" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << x << ", " << y << ", " << width << ", " << height |
| << ")"); |
| g_driver_glx.debug_fn.glXCopySubBufferMESAFn(dpy, drawable, x, y, width, |
| height); |
| } |
| |
| static GLXContext GL_BINDING_CALL Debug_glXCreateContext(Display* dpy, |
| XVisualInfo* vis, |
| GLXContext shareList, |
| int direct) { |
| GL_SERVICE_LOG("glXCreateContext" |
| << "(" << static_cast<const void*>(dpy) << ", " |
| << static_cast<const void*>(vis) << ", " << shareList << ", " |
| << direct << ")"); |
| GLXContext result = |
| g_driver_glx.debug_fn.glXCreateContextFn(dpy, vis, shareList, direct); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXContext GL_BINDING_CALL |
| Debug_glXCreateContextAttribsARB(Display* dpy, |
| GLXFBConfig config, |
| GLXContext share_context, |
| int direct, |
| const int* attrib_list) { |
| GL_SERVICE_LOG("glXCreateContextAttribsARB" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ", " << share_context << ", " << direct << ", " |
| << static_cast<const void*>(attrib_list) << ")"); |
| GLXContext result = g_driver_glx.debug_fn.glXCreateContextAttribsARBFn( |
| dpy, config, share_context, direct, attrib_list); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXPixmap GL_BINDING_CALL Debug_glXCreateGLXPixmap(Display* dpy, |
| XVisualInfo* visual, |
| Pixmap pixmap) { |
| GL_SERVICE_LOG("glXCreateGLXPixmap" |
| << "(" << static_cast<const void*>(dpy) << ", " |
| << static_cast<const void*>(visual) << ", " << pixmap << ")"); |
| GLXPixmap result = |
| g_driver_glx.debug_fn.glXCreateGLXPixmapFn(dpy, visual, pixmap); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXContext GL_BINDING_CALL |
| Debug_glXCreateNewContext(Display* dpy, |
| GLXFBConfig config, |
| int renderType, |
| GLXContext shareList, |
| int direct) { |
| GL_SERVICE_LOG("glXCreateNewContext" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ", " << renderType << ", " << shareList << ", " << direct |
| << ")"); |
| GLXContext result = g_driver_glx.debug_fn.glXCreateNewContextFn( |
| dpy, config, renderType, shareList, direct); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXPbuffer GL_BINDING_CALL |
| Debug_glXCreatePbuffer(Display* dpy, |
| GLXFBConfig config, |
| const int* attribList) { |
| GL_SERVICE_LOG("glXCreatePbuffer" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ", " << static_cast<const void*>(attribList) << ")"); |
| GLXPbuffer result = |
| g_driver_glx.debug_fn.glXCreatePbufferFn(dpy, config, attribList); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXPixmap GL_BINDING_CALL Debug_glXCreatePixmap(Display* dpy, |
| GLXFBConfig config, |
| Pixmap pixmap, |
| const int* attribList) { |
| GL_SERVICE_LOG("glXCreatePixmap" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ", " << pixmap << ", " |
| << static_cast<const void*>(attribList) << ")"); |
| GLXPixmap result = |
| g_driver_glx.debug_fn.glXCreatePixmapFn(dpy, config, pixmap, attribList); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXWindow GL_BINDING_CALL Debug_glXCreateWindow(Display* dpy, |
| GLXFBConfig config, |
| Window win, |
| const int* attribList) { |
| GL_SERVICE_LOG("glXCreateWindow" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ", " << win << ", " << static_cast<const void*>(attribList) |
| << ")"); |
| GLXWindow result = |
| g_driver_glx.debug_fn.glXCreateWindowFn(dpy, config, win, attribList); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static void GL_BINDING_CALL Debug_glXDestroyContext(Display* dpy, |
| GLXContext ctx) { |
| GL_SERVICE_LOG("glXDestroyContext" |
| << "(" << static_cast<const void*>(dpy) << ", " << ctx << ")"); |
| g_driver_glx.debug_fn.glXDestroyContextFn(dpy, ctx); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXDestroyGLXPixmap(Display* dpy, |
| GLXPixmap pixmap) { |
| GL_SERVICE_LOG("glXDestroyGLXPixmap" |
| << "(" << static_cast<const void*>(dpy) << ", " << pixmap |
| << ")"); |
| g_driver_glx.debug_fn.glXDestroyGLXPixmapFn(dpy, pixmap); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXDestroyPbuffer(Display* dpy, |
| GLXPbuffer pbuf) { |
| GL_SERVICE_LOG("glXDestroyPbuffer" |
| << "(" << static_cast<const void*>(dpy) << ", " << pbuf |
| << ")"); |
| g_driver_glx.debug_fn.glXDestroyPbufferFn(dpy, pbuf); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXDestroyPixmap(Display* dpy, |
| GLXPixmap pixmap) { |
| GL_SERVICE_LOG("glXDestroyPixmap" |
| << "(" << static_cast<const void*>(dpy) << ", " << pixmap |
| << ")"); |
| g_driver_glx.debug_fn.glXDestroyPixmapFn(dpy, pixmap); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXDestroyWindow(Display* dpy, |
| GLXWindow window) { |
| GL_SERVICE_LOG("glXDestroyWindow" |
| << "(" << static_cast<const void*>(dpy) << ", " << window |
| << ")"); |
| g_driver_glx.debug_fn.glXDestroyWindowFn(dpy, window); |
| } |
| |
| static const char* GL_BINDING_CALL Debug_glXGetClientString(Display* dpy, |
| int name) { |
| GL_SERVICE_LOG("glXGetClientString" |
| << "(" << static_cast<const void*>(dpy) << ", " << name |
| << ")"); |
| const char* result = g_driver_glx.debug_fn.glXGetClientStringFn(dpy, name); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXGetConfig(Display* dpy, |
| XVisualInfo* visual, |
| int attrib, |
| int* value) { |
| GL_SERVICE_LOG("glXGetConfig" |
| << "(" << static_cast<const void*>(dpy) << ", " |
| << static_cast<const void*>(visual) << ", " << attrib << ", " |
| << static_cast<const void*>(value) << ")"); |
| int result = g_driver_glx.debug_fn.glXGetConfigFn(dpy, visual, attrib, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXContext GL_BINDING_CALL Debug_glXGetCurrentContext(void) { |
| GL_SERVICE_LOG("glXGetCurrentContext" |
| << "(" |
| << ")"); |
| GLXContext result = g_driver_glx.debug_fn.glXGetCurrentContextFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static Display* GL_BINDING_CALL Debug_glXGetCurrentDisplay(void) { |
| GL_SERVICE_LOG("glXGetCurrentDisplay" |
| << "(" |
| << ")"); |
| Display* result = g_driver_glx.debug_fn.glXGetCurrentDisplayFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXDrawable GL_BINDING_CALL Debug_glXGetCurrentDrawable(void) { |
| GL_SERVICE_LOG("glXGetCurrentDrawable" |
| << "(" |
| << ")"); |
| GLXDrawable result = g_driver_glx.debug_fn.glXGetCurrentDrawableFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXDrawable GL_BINDING_CALL Debug_glXGetCurrentReadDrawable(void) { |
| GL_SERVICE_LOG("glXGetCurrentReadDrawable" |
| << "(" |
| << ")"); |
| GLXDrawable result = g_driver_glx.debug_fn.glXGetCurrentReadDrawableFn(); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXGetFBConfigAttrib(Display* dpy, |
| GLXFBConfig config, |
| int attribute, |
| int* value) { |
| GL_SERVICE_LOG("glXGetFBConfigAttrib" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ", " << attribute << ", " << static_cast<const void*>(value) |
| << ")"); |
| int result = g_driver_glx.debug_fn.glXGetFBConfigAttribFn(dpy, config, |
| attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXFBConfig GL_BINDING_CALL |
| Debug_glXGetFBConfigFromVisualSGIX(Display* dpy, XVisualInfo* visualInfo) { |
| GL_SERVICE_LOG("glXGetFBConfigFromVisualSGIX" |
| << "(" << static_cast<const void*>(dpy) << ", " |
| << static_cast<const void*>(visualInfo) << ")"); |
| GLXFBConfig result = |
| g_driver_glx.debug_fn.glXGetFBConfigFromVisualSGIXFn(dpy, visualInfo); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static GLXFBConfig* GL_BINDING_CALL Debug_glXGetFBConfigs(Display* dpy, |
| int screen, |
| int* nelements) { |
| GL_SERVICE_LOG("glXGetFBConfigs" |
| << "(" << static_cast<const void*>(dpy) << ", " << screen |
| << ", " << static_cast<const void*>(nelements) << ")"); |
| GLXFBConfig* result = |
| g_driver_glx.debug_fn.glXGetFBConfigsFn(dpy, screen, nelements); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static bool GL_BINDING_CALL Debug_glXGetMscRateOML(Display* dpy, |
| GLXDrawable drawable, |
| int32* numerator, |
| int32* denominator) { |
| GL_SERVICE_LOG("glXGetMscRateOML" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << static_cast<const void*>(numerator) << ", " |
| << static_cast<const void*>(denominator) << ")"); |
| bool result = g_driver_glx.debug_fn.glXGetMscRateOMLFn( |
| dpy, drawable, numerator, denominator); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static void GL_BINDING_CALL Debug_glXGetSelectedEvent(Display* dpy, |
| GLXDrawable drawable, |
| unsigned long* mask) { |
| GL_SERVICE_LOG("glXGetSelectedEvent" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << static_cast<const void*>(mask) << ")"); |
| g_driver_glx.debug_fn.glXGetSelectedEventFn(dpy, drawable, mask); |
| } |
| |
| static bool GL_BINDING_CALL Debug_glXGetSyncValuesOML(Display* dpy, |
| GLXDrawable drawable, |
| int64* ust, |
| int64* msc, |
| int64* sbc) { |
| GL_SERVICE_LOG("glXGetSyncValuesOML" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << static_cast<const void*>(ust) << ", " |
| << static_cast<const void*>(msc) << ", " |
| << static_cast<const void*>(sbc) << ")"); |
| bool result = |
| g_driver_glx.debug_fn.glXGetSyncValuesOMLFn(dpy, drawable, ust, msc, sbc); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static XVisualInfo* GL_BINDING_CALL |
| Debug_glXGetVisualFromFBConfig(Display* dpy, GLXFBConfig config) { |
| GL_SERVICE_LOG("glXGetVisualFromFBConfig" |
| << "(" << static_cast<const void*>(dpy) << ", " << config |
| << ")"); |
| XVisualInfo* result = |
| g_driver_glx.debug_fn.glXGetVisualFromFBConfigFn(dpy, config); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXIsDirect(Display* dpy, GLXContext ctx) { |
| GL_SERVICE_LOG("glXIsDirect" |
| << "(" << static_cast<const void*>(dpy) << ", " << ctx << ")"); |
| int result = g_driver_glx.debug_fn.glXIsDirectFn(dpy, ctx); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXMakeContextCurrent(Display* dpy, |
| GLXDrawable draw, |
| GLXDrawable read, |
| GLXContext ctx) { |
| GL_SERVICE_LOG("glXMakeContextCurrent" |
| << "(" << static_cast<const void*>(dpy) << ", " << draw << ", " |
| << read << ", " << ctx << ")"); |
| int result = |
| g_driver_glx.debug_fn.glXMakeContextCurrentFn(dpy, draw, read, ctx); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXMakeCurrent(Display* dpy, |
| GLXDrawable drawable, |
| GLXContext ctx) { |
| GL_SERVICE_LOG("glXMakeCurrent" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << ctx << ")"); |
| int result = g_driver_glx.debug_fn.glXMakeCurrentFn(dpy, drawable, ctx); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXQueryContext(Display* dpy, |
| GLXContext ctx, |
| int attribute, |
| int* value) { |
| GL_SERVICE_LOG("glXQueryContext" |
| << "(" << static_cast<const void*>(dpy) << ", " << ctx << ", " |
| << attribute << ", " << static_cast<const void*>(value) |
| << ")"); |
| int result = |
| g_driver_glx.debug_fn.glXQueryContextFn(dpy, ctx, attribute, value); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static void GL_BINDING_CALL Debug_glXQueryDrawable(Display* dpy, |
| GLXDrawable draw, |
| int attribute, |
| unsigned int* value) { |
| GL_SERVICE_LOG("glXQueryDrawable" |
| << "(" << static_cast<const void*>(dpy) << ", " << draw << ", " |
| << attribute << ", " << static_cast<const void*>(value) |
| << ")"); |
| g_driver_glx.debug_fn.glXQueryDrawableFn(dpy, draw, attribute, value); |
| } |
| |
| static int GL_BINDING_CALL Debug_glXQueryExtension(Display* dpy, |
| int* errorb, |
| int* event) { |
| GL_SERVICE_LOG("glXQueryExtension" |
| << "(" << static_cast<const void*>(dpy) << ", " |
| << static_cast<const void*>(errorb) << ", " |
| << static_cast<const void*>(event) << ")"); |
| int result = g_driver_glx.debug_fn.glXQueryExtensionFn(dpy, errorb, event); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static const char* GL_BINDING_CALL Debug_glXQueryExtensionsString(Display* dpy, |
| int screen) { |
| GL_SERVICE_LOG("glXQueryExtensionsString" |
| << "(" << static_cast<const void*>(dpy) << ", " << screen |
| << ")"); |
| const char* result = |
| g_driver_glx.debug_fn.glXQueryExtensionsStringFn(dpy, screen); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static const char* GL_BINDING_CALL Debug_glXQueryServerString(Display* dpy, |
| int screen, |
| int name) { |
| GL_SERVICE_LOG("glXQueryServerString" |
| << "(" << static_cast<const void*>(dpy) << ", " << screen |
| << ", " << name << ")"); |
| const char* result = |
| g_driver_glx.debug_fn.glXQueryServerStringFn(dpy, screen, name); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static int GL_BINDING_CALL Debug_glXQueryVersion(Display* dpy, |
| int* maj, |
| int* min) { |
| GL_SERVICE_LOG("glXQueryVersion" |
| << "(" << static_cast<const void*>(dpy) << ", " |
| << static_cast<const void*>(maj) << ", " |
| << static_cast<const void*>(min) << ")"); |
| int result = g_driver_glx.debug_fn.glXQueryVersionFn(dpy, maj, min); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static void GL_BINDING_CALL Debug_glXReleaseTexImageEXT(Display* dpy, |
| GLXDrawable drawable, |
| int buffer) { |
| GL_SERVICE_LOG("glXReleaseTexImageEXT" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << buffer << ")"); |
| g_driver_glx.debug_fn.glXReleaseTexImageEXTFn(dpy, drawable, buffer); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXSelectEvent(Display* dpy, |
| GLXDrawable drawable, |
| unsigned long mask) { |
| GL_SERVICE_LOG("glXSelectEvent" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << mask << ")"); |
| g_driver_glx.debug_fn.glXSelectEventFn(dpy, drawable, mask); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXSwapBuffers(Display* dpy, |
| GLXDrawable drawable) { |
| GL_SERVICE_LOG("glXSwapBuffers" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ")"); |
| g_driver_glx.debug_fn.glXSwapBuffersFn(dpy, drawable); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXSwapIntervalEXT(Display* dpy, |
| GLXDrawable drawable, |
| int interval) { |
| GL_SERVICE_LOG("glXSwapIntervalEXT" |
| << "(" << static_cast<const void*>(dpy) << ", " << drawable |
| << ", " << interval << ")"); |
| g_driver_glx.debug_fn.glXSwapIntervalEXTFn(dpy, drawable, interval); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXSwapIntervalMESA(unsigned int interval) { |
| GL_SERVICE_LOG("glXSwapIntervalMESA" |
| << "(" << interval << ")"); |
| g_driver_glx.debug_fn.glXSwapIntervalMESAFn(interval); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXUseXFont(Font font, |
| int first, |
| int count, |
| int list) { |
| GL_SERVICE_LOG("glXUseXFont" |
| << "(" << font << ", " << first << ", " << count << ", " |
| << list << ")"); |
| g_driver_glx.debug_fn.glXUseXFontFn(font, first, count, list); |
| } |
| |
| static void GL_BINDING_CALL Debug_glXWaitGL(void) { |
| GL_SERVICE_LOG("glXWaitGL" |
| << "(" |
| << ")"); |
| g_driver_glx.debug_fn.glXWaitGLFn(); |
| } |
| |
| static int GL_BINDING_CALL Debug_glXWaitVideoSyncSGI(int divisor, |
| int remainder, |
| unsigned int* count) { |
| GL_SERVICE_LOG("glXWaitVideoSyncSGI" |
| << "(" << divisor << ", " << remainder << ", " |
| << static_cast<const void*>(count) << ")"); |
| int result = |
| g_driver_glx.debug_fn.glXWaitVideoSyncSGIFn(divisor, remainder, count); |
| GL_SERVICE_LOG("GL_RESULT: " << result); |
| return result; |
| } |
| |
| static void GL_BINDING_CALL Debug_glXWaitX(void) { |
| GL_SERVICE_LOG("glXWaitX" |
| << "(" |
| << ")"); |
| g_driver_glx.debug_fn.glXWaitXFn(); |
| } |
| } // extern "C" |
| |
| void DriverGLX::InitializeDebugBindings() { |
| if (!debug_fn.glXBindTexImageEXTFn) { |
| debug_fn.glXBindTexImageEXTFn = fn.glXBindTexImageEXTFn; |
| fn.glXBindTexImageEXTFn = Debug_glXBindTexImageEXT; |
| } |
| if (!debug_fn.glXChooseFBConfigFn) { |
| debug_fn.glXChooseFBConfigFn = fn.glXChooseFBConfigFn; |
| fn.glXChooseFBConfigFn = Debug_glXChooseFBConfig; |
| } |
| if (!debug_fn.glXChooseVisualFn) { |
| debug_fn.glXChooseVisualFn = fn.glXChooseVisualFn; |
| fn.glXChooseVisualFn = Debug_glXChooseVisual; |
| } |
| if (!debug_fn.glXCopyContextFn) { |
| debug_fn.glXCopyContextFn = fn.glXCopyContextFn; |
| fn.glXCopyContextFn = Debug_glXCopyContext; |
| } |
| if (!debug_fn.glXCopySubBufferMESAFn) { |
| debug_fn.glXCopySubBufferMESAFn = fn.glXCopySubBufferMESAFn; |
| fn.glXCopySubBufferMESAFn = Debug_glXCopySubBufferMESA; |
| } |
| if (!debug_fn.glXCreateContextFn) { |
| debug_fn.glXCreateContextFn = fn.glXCreateContextFn; |
| fn.glXCreateContextFn = Debug_glXCreateContext; |
| } |
| if (!debug_fn.glXCreateContextAttribsARBFn) { |
| debug_fn.glXCreateContextAttribsARBFn = fn.glXCreateContextAttribsARBFn; |
| fn.glXCreateContextAttribsARBFn = Debug_glXCreateContextAttribsARB; |
| } |
| if (!debug_fn.glXCreateGLXPixmapFn) { |
| debug_fn.glXCreateGLXPixmapFn = fn.glXCreateGLXPixmapFn; |
| fn.glXCreateGLXPixmapFn = Debug_glXCreateGLXPixmap; |
| } |
| if (!debug_fn.glXCreateNewContextFn) { |
| debug_fn.glXCreateNewContextFn = fn.glXCreateNewContextFn; |
| fn.glXCreateNewContextFn = Debug_glXCreateNewContext; |
| } |
| if (!debug_fn.glXCreatePbufferFn) { |
| debug_fn.glXCreatePbufferFn = fn.glXCreatePbufferFn; |
| fn.glXCreatePbufferFn = Debug_glXCreatePbuffer; |
| } |
| if (!debug_fn.glXCreatePixmapFn) { |
| debug_fn.glXCreatePixmapFn = fn.glXCreatePixmapFn; |
| fn.glXCreatePixmapFn = Debug_glXCreatePixmap; |
| } |
| if (!debug_fn.glXCreateWindowFn) { |
| debug_fn.glXCreateWindowFn = fn.glXCreateWindowFn; |
| fn.glXCreateWindowFn = Debug_glXCreateWindow; |
| } |
| if (!debug_fn.glXDestroyContextFn) { |
| debug_fn.glXDestroyContextFn = fn.glXDestroyContextFn; |
| fn.glXDestroyContextFn = Debug_glXDestroyContext; |
| } |
| if (!debug_fn.glXDestroyGLXPixmapFn) { |
| debug_fn.glXDestroyGLXPixmapFn = fn.glXDestroyGLXPixmapFn; |
| fn.glXDestroyGLXPixmapFn = Debug_glXDestroyGLXPixmap; |
| } |
| if (!debug_fn.glXDestroyPbufferFn) { |
| debug_fn.glXDestroyPbufferFn = fn.glXDestroyPbufferFn; |
| fn.glXDestroyPbufferFn = Debug_glXDestroyPbuffer; |
| } |
| if (!debug_fn.glXDestroyPixmapFn) { |
| debug_fn.glXDestroyPixmapFn = fn.glXDestroyPixmapFn; |
| fn.glXDestroyPixmapFn = Debug_glXDestroyPixmap; |
| } |
| if (!debug_fn.glXDestroyWindowFn) { |
| debug_fn.glXDestroyWindowFn = fn.glXDestroyWindowFn; |
| fn.glXDestroyWindowFn = Debug_glXDestroyWindow; |
| } |
| if (!debug_fn.glXGetClientStringFn) { |
| debug_fn.glXGetClientStringFn = fn.glXGetClientStringFn; |
| fn.glXGetClientStringFn = Debug_glXGetClientString; |
| } |
| if (!debug_fn.glXGetConfigFn) { |
| debug_fn.glXGetConfigFn = fn.glXGetConfigFn; |
| fn.glXGetConfigFn = Debug_glXGetConfig; |
| } |
| if (!debug_fn.glXGetCurrentContextFn) { |
| debug_fn.glXGetCurrentContextFn = fn.glXGetCurrentContextFn; |
| fn.glXGetCurrentContextFn = Debug_glXGetCurrentContext; |
| } |
| if (!debug_fn.glXGetCurrentDisplayFn) { |
| debug_fn.glXGetCurrentDisplayFn = fn.glXGetCurrentDisplayFn; |
| fn.glXGetCurrentDisplayFn = Debug_glXGetCurrentDisplay; |
| } |
| if (!debug_fn.glXGetCurrentDrawableFn) { |
| debug_fn.glXGetCurrentDrawableFn = fn.glXGetCurrentDrawableFn; |
| fn.glXGetCurrentDrawableFn = Debug_glXGetCurrentDrawable; |
| } |
| if (!debug_fn.glXGetCurrentReadDrawableFn) { |
| debug_fn.glXGetCurrentReadDrawableFn = fn.glXGetCurrentReadDrawableFn; |
| fn.glXGetCurrentReadDrawableFn = Debug_glXGetCurrentReadDrawable; |
| } |
| if (!debug_fn.glXGetFBConfigAttribFn) { |
| debug_fn.glXGetFBConfigAttribFn = fn.glXGetFBConfigAttribFn; |
| fn.glXGetFBConfigAttribFn = Debug_glXGetFBConfigAttrib; |
| } |
| if (!debug_fn.glXGetFBConfigFromVisualSGIXFn) { |
| debug_fn.glXGetFBConfigFromVisualSGIXFn = fn.glXGetFBConfigFromVisualSGIXFn; |
| fn.glXGetFBConfigFromVisualSGIXFn = Debug_glXGetFBConfigFromVisualSGIX; |
| } |
| if (!debug_fn.glXGetFBConfigsFn) { |
| debug_fn.glXGetFBConfigsFn = fn.glXGetFBConfigsFn; |
| fn.glXGetFBConfigsFn = Debug_glXGetFBConfigs; |
| } |
| if (!debug_fn.glXGetMscRateOMLFn) { |
| debug_fn.glXGetMscRateOMLFn = fn.glXGetMscRateOMLFn; |
| fn.glXGetMscRateOMLFn = Debug_glXGetMscRateOML; |
| } |
| if (!debug_fn.glXGetSelectedEventFn) { |
| debug_fn.glXGetSelectedEventFn = fn.glXGetSelectedEventFn; |
| fn.glXGetSelectedEventFn = Debug_glXGetSelectedEvent; |
| } |
| if (!debug_fn.glXGetSyncValuesOMLFn) { |
| debug_fn.glXGetSyncValuesOMLFn = fn.glXGetSyncValuesOMLFn; |
| fn.glXGetSyncValuesOMLFn = Debug_glXGetSyncValuesOML; |
| } |
| if (!debug_fn.glXGetVisualFromFBConfigFn) { |
| debug_fn.glXGetVisualFromFBConfigFn = fn.glXGetVisualFromFBConfigFn; |
| fn.glXGetVisualFromFBConfigFn = Debug_glXGetVisualFromFBConfig; |
| } |
| if (!debug_fn.glXIsDirectFn) { |
| debug_fn.glXIsDirectFn = fn.glXIsDirectFn; |
| fn.glXIsDirectFn = Debug_glXIsDirect; |
| } |
| if (!debug_fn.glXMakeContextCurrentFn) { |
| debug_fn.glXMakeContextCurrentFn = fn.glXMakeContextCurrentFn; |
| fn.glXMakeContextCurrentFn = Debug_glXMakeContextCurrent; |
| } |
| if (!debug_fn.glXMakeCurrentFn) { |
| debug_fn.glXMakeCurrentFn = fn.glXMakeCurrentFn; |
| fn.glXMakeCurrentFn = Debug_glXMakeCurrent; |
| } |
| if (!debug_fn.glXQueryContextFn) { |
| debug_fn.glXQueryContextFn = fn.glXQueryContextFn; |
| fn.glXQueryContextFn = Debug_glXQueryContext; |
| } |
| if (!debug_fn.glXQueryDrawableFn) { |
| debug_fn.glXQueryDrawableFn = fn.glXQueryDrawableFn; |
| fn.glXQueryDrawableFn = Debug_glXQueryDrawable; |
| } |
| if (!debug_fn.glXQueryExtensionFn) { |
| debug_fn.glXQueryExtensionFn = fn.glXQueryExtensionFn; |
| fn.glXQueryExtensionFn = Debug_glXQueryExtension; |
| } |
| if (!debug_fn.glXQueryExtensionsStringFn) { |
| debug_fn.glXQueryExtensionsStringFn = fn.glXQueryExtensionsStringFn; |
| fn.glXQueryExtensionsStringFn = Debug_glXQueryExtensionsString; |
| } |
| if (!debug_fn.glXQueryServerStringFn) { |
| debug_fn.glXQueryServerStringFn = fn.glXQueryServerStringFn; |
| fn.glXQueryServerStringFn = Debug_glXQueryServerString; |
| } |
| if (!debug_fn.glXQueryVersionFn) { |
| debug_fn.glXQueryVersionFn = fn.glXQueryVersionFn; |
| fn.glXQueryVersionFn = Debug_glXQueryVersion; |
| } |
| if (!debug_fn.glXReleaseTexImageEXTFn) { |
| debug_fn.glXReleaseTexImageEXTFn = fn.glXReleaseTexImageEXTFn; |
| fn.glXReleaseTexImageEXTFn = Debug_glXReleaseTexImageEXT; |
| } |
| if (!debug_fn.glXSelectEventFn) { |
| debug_fn.glXSelectEventFn = fn.glXSelectEventFn; |
| fn.glXSelectEventFn = Debug_glXSelectEvent; |
| } |
| if (!debug_fn.glXSwapBuffersFn) { |
| debug_fn.glXSwapBuffersFn = fn.glXSwapBuffersFn; |
| fn.glXSwapBuffersFn = Debug_glXSwapBuffers; |
| } |
| if (!debug_fn.glXSwapIntervalEXTFn) { |
| debug_fn.glXSwapIntervalEXTFn = fn.glXSwapIntervalEXTFn; |
| fn.glXSwapIntervalEXTFn = Debug_glXSwapIntervalEXT; |
| } |
| if (!debug_fn.glXSwapIntervalMESAFn) { |
| debug_fn.glXSwapIntervalMESAFn = fn.glXSwapIntervalMESAFn; |
| fn.glXSwapIntervalMESAFn = Debug_glXSwapIntervalMESA; |
| } |
| if (!debug_fn.glXUseXFontFn) { |
| debug_fn.glXUseXFontFn = fn.glXUseXFontFn; |
| fn.glXUseXFontFn = Debug_glXUseXFont; |
| } |
| if (!debug_fn.glXWaitGLFn) { |
| debug_fn.glXWaitGLFn = fn.glXWaitGLFn; |
| fn.glXWaitGLFn = Debug_glXWaitGL; |
| } |
| if (!debug_fn.glXWaitVideoSyncSGIFn) { |
| debug_fn.glXWaitVideoSyncSGIFn = fn.glXWaitVideoSyncSGIFn; |
| fn.glXWaitVideoSyncSGIFn = Debug_glXWaitVideoSyncSGI; |
| } |
| if (!debug_fn.glXWaitXFn) { |
| debug_fn.glXWaitXFn = fn.glXWaitXFn; |
| fn.glXWaitXFn = Debug_glXWaitX; |
| } |
| g_debugBindingsInitialized = true; |
| } |
| |
| void DriverGLX::ClearBindings() { |
| memset(this, 0, sizeof(*this)); |
| } |
| |
| void GLXApiBase::glXBindTexImageEXTFn(Display* dpy, |
| GLXDrawable drawable, |
| int buffer, |
| int* attribList) { |
| driver_->fn.glXBindTexImageEXTFn(dpy, drawable, buffer, attribList); |
| } |
| |
| GLXFBConfig* GLXApiBase::glXChooseFBConfigFn(Display* dpy, |
| int screen, |
| const int* attribList, |
| int* nitems) { |
| return driver_->fn.glXChooseFBConfigFn(dpy, screen, attribList, nitems); |
| } |
| |
| XVisualInfo* GLXApiBase::glXChooseVisualFn(Display* dpy, |
| int screen, |
| int* attribList) { |
| return driver_->fn.glXChooseVisualFn(dpy, screen, attribList); |
| } |
| |
| void GLXApiBase::glXCopyContextFn(Display* dpy, |
| GLXContext src, |
| GLXContext dst, |
| unsigned long mask) { |
| driver_->fn.glXCopyContextFn(dpy, src, dst, mask); |
| } |
| |
| void GLXApiBase::glXCopySubBufferMESAFn(Display* dpy, |
| GLXDrawable drawable, |
| int x, |
| int y, |
| int width, |
| int height) { |
| driver_->fn.glXCopySubBufferMESAFn(dpy, drawable, x, y, width, height); |
| } |
| |
| GLXContext GLXApiBase::glXCreateContextFn(Display* dpy, |
| XVisualInfo* vis, |
| GLXContext shareList, |
| int direct) { |
| return driver_->fn.glXCreateContextFn(dpy, vis, shareList, direct); |
| } |
| |
| GLXContext GLXApiBase::glXCreateContextAttribsARBFn(Display* dpy, |
| GLXFBConfig config, |
| GLXContext share_context, |
| int direct, |
| const int* attrib_list) { |
| return driver_->fn.glXCreateContextAttribsARBFn(dpy, config, share_context, |
| direct, attrib_list); |
| } |
| |
| GLXPixmap GLXApiBase::glXCreateGLXPixmapFn(Display* dpy, |
| XVisualInfo* visual, |
| Pixmap pixmap) { |
| return driver_->fn.glXCreateGLXPixmapFn(dpy, visual, pixmap); |
| } |
| |
| GLXContext GLXApiBase::glXCreateNewContextFn(Display* dpy, |
| GLXFBConfig config, |
| int renderType, |
| GLXContext shareList, |
| int direct) { |
| return driver_->fn.glXCreateNewContextFn(dpy, config, renderType, shareList, |
| direct); |
| } |
| |
| GLXPbuffer GLXApiBase::glXCreatePbufferFn(Display* dpy, |
| GLXFBConfig config, |
| const int* attribList) { |
| return driver_->fn.glXCreatePbufferFn(dpy, config, attribList); |
| } |
| |
| GLXPixmap GLXApiBase::glXCreatePixmapFn(Display* dpy, |
| GLXFBConfig config, |
| Pixmap pixmap, |
| const int* attribList) { |
| return driver_->fn.glXCreatePixmapFn(dpy, config, pixmap, attribList); |
| } |
| |
| GLXWindow GLXApiBase::glXCreateWindowFn(Display* dpy, |
| GLXFBConfig config, |
| Window win, |
| const int* attribList) { |
| return driver_->fn.glXCreateWindowFn(dpy, config, win, attribList); |
| } |
| |
| void GLXApiBase::glXDestroyContextFn(Display* dpy, GLXContext ctx) { |
| driver_->fn.glXDestroyContextFn(dpy, ctx); |
| } |
| |
| void GLXApiBase::glXDestroyGLXPixmapFn(Display* dpy, GLXPixmap pixmap) { |
| driver_->fn.glXDestroyGLXPixmapFn(dpy, pixmap); |
| } |
| |
| void GLXApiBase::glXDestroyPbufferFn(Display* dpy, GLXPbuffer pbuf) { |
| driver_->fn.glXDestroyPbufferFn(dpy, pbuf); |
| } |
| |
| void GLXApiBase::glXDestroyPixmapFn(Display* dpy, GLXPixmap pixmap) { |
| driver_->fn.glXDestroyPixmapFn(dpy, pixmap); |
| } |
| |
| void GLXApiBase::glXDestroyWindowFn(Display* dpy, GLXWindow window) { |
| driver_->fn.glXDestroyWindowFn(dpy, window); |
| } |
| |
| const char* GLXApiBase::glXGetClientStringFn(Display* dpy, int name) { |
| return driver_->fn.glXGetClientStringFn(dpy, name); |
| } |
| |
| int GLXApiBase::glXGetConfigFn(Display* dpy, |
| XVisualInfo* visual, |
| int attrib, |
| int* value) { |
| return driver_->fn.glXGetConfigFn(dpy, visual, attrib, value); |
| } |
| |
| GLXContext GLXApiBase::glXGetCurrentContextFn(void) { |
| return driver_->fn.glXGetCurrentContextFn(); |
| } |
| |
| Display* GLXApiBase::glXGetCurrentDisplayFn(void) { |
| return driver_->fn.glXGetCurrentDisplayFn(); |
| } |
| |
| GLXDrawable GLXApiBase::glXGetCurrentDrawableFn(void) { |
| return driver_->fn.glXGetCurrentDrawableFn(); |
| } |
| |
| GLXDrawable GLXApiBase::glXGetCurrentReadDrawableFn(void) { |
| return driver_->fn.glXGetCurrentReadDrawableFn(); |
| } |
| |
| int GLXApiBase::glXGetFBConfigAttribFn(Display* dpy, |
| GLXFBConfig config, |
| int attribute, |
| int* value) { |
| return driver_->fn.glXGetFBConfigAttribFn(dpy, config, attribute, value); |
| } |
| |
| GLXFBConfig GLXApiBase::glXGetFBConfigFromVisualSGIXFn( |
| Display* dpy, |
| XVisualInfo* visualInfo) { |
| return driver_->fn.glXGetFBConfigFromVisualSGIXFn(dpy, visualInfo); |
| } |
| |
| GLXFBConfig* GLXApiBase::glXGetFBConfigsFn(Display* dpy, |
| int screen, |
| int* nelements) { |
| return driver_->fn.glXGetFBConfigsFn(dpy, screen, nelements); |
| } |
| |
| bool GLXApiBase::glXGetMscRateOMLFn(Display* dpy, |
| GLXDrawable drawable, |
| int32* numerator, |
| int32* denominator) { |
| return driver_->fn.glXGetMscRateOMLFn(dpy, drawable, numerator, denominator); |
| } |
| |
| void GLXApiBase::glXGetSelectedEventFn(Display* dpy, |
| GLXDrawable drawable, |
| unsigned long* mask) { |
| driver_->fn.glXGetSelectedEventFn(dpy, drawable, mask); |
| } |
| |
| bool GLXApiBase::glXGetSyncValuesOMLFn(Display* dpy, |
| GLXDrawable drawable, |
| int64* ust, |
| int64* msc, |
| int64* sbc) { |
| return driver_->fn.glXGetSyncValuesOMLFn(dpy, drawable, ust, msc, sbc); |
| } |
| |
| XVisualInfo* GLXApiBase::glXGetVisualFromFBConfigFn(Display* dpy, |
| GLXFBConfig config) { |
| return driver_->fn.glXGetVisualFromFBConfigFn(dpy, config); |
| } |
| |
| int GLXApiBase::glXIsDirectFn(Display* dpy, GLXContext ctx) { |
| return driver_->fn.glXIsDirectFn(dpy, ctx); |
| } |
| |
| int GLXApiBase::glXMakeContextCurrentFn(Display* dpy, |
| GLXDrawable draw, |
| GLXDrawable read, |
| GLXContext ctx) { |
| return driver_->fn.glXMakeContextCurrentFn(dpy, draw, read, ctx); |
| } |
| |
| int GLXApiBase::glXMakeCurrentFn(Display* dpy, |
| GLXDrawable drawable, |
| GLXContext ctx) { |
| return driver_->fn.glXMakeCurrentFn(dpy, drawable, ctx); |
| } |
| |
| int GLXApiBase::glXQueryContextFn(Display* dpy, |
| GLXContext ctx, |
| int attribute, |
| int* value) { |
| return driver_->fn.glXQueryContextFn(dpy, ctx, attribute, value); |
| } |
| |
| void GLXApiBase::glXQueryDrawableFn(Display* dpy, |
| GLXDrawable draw, |
| int attribute, |
| unsigned int* value) { |
| driver_->fn.glXQueryDrawableFn(dpy, draw, attribute, value); |
| } |
| |
| int GLXApiBase::glXQueryExtensionFn(Display* dpy, int* errorb, int* event) { |
| return driver_->fn.glXQueryExtensionFn(dpy, errorb, event); |
| } |
| |
| const char* GLXApiBase::glXQueryExtensionsStringFn(Display* dpy, int screen) { |
| return driver_->fn.glXQueryExtensionsStringFn(dpy, screen); |
| } |
| |
| const char* GLXApiBase::glXQueryServerStringFn(Display* dpy, |
| int screen, |
| int name) { |
| return driver_->fn.glXQueryServerStringFn(dpy, screen, name); |
| } |
| |
| int GLXApiBase::glXQueryVersionFn(Display* dpy, int* maj, int* min) { |
| return driver_->fn.glXQueryVersionFn(dpy, maj, min); |
| } |
| |
| void GLXApiBase::glXReleaseTexImageEXTFn(Display* dpy, |
| GLXDrawable drawable, |
| int buffer) { |
| driver_->fn.glXReleaseTexImageEXTFn(dpy, drawable, buffer); |
| } |
| |
| void GLXApiBase::glXSelectEventFn(Display* dpy, |
| GLXDrawable drawable, |
| unsigned long mask) { |
| driver_->fn.glXSelectEventFn(dpy, drawable, mask); |
| } |
| |
| void GLXApiBase::glXSwapBuffersFn(Display* dpy, GLXDrawable drawable) { |
| driver_->fn.glXSwapBuffersFn(dpy, drawable); |
| } |
| |
| void GLXApiBase::glXSwapIntervalEXTFn(Display* dpy, |
| GLXDrawable drawable, |
| int interval) { |
| driver_->fn.glXSwapIntervalEXTFn(dpy, drawable, interval); |
| } |
| |
| void GLXApiBase::glXSwapIntervalMESAFn(unsigned int interval) { |
| driver_->fn.glXSwapIntervalMESAFn(interval); |
| } |
| |
| void GLXApiBase::glXUseXFontFn(Font font, int first, int count, int list) { |
| driver_->fn.glXUseXFontFn(font, first, count, list); |
| } |
| |
| void GLXApiBase::glXWaitGLFn(void) { |
| driver_->fn.glXWaitGLFn(); |
| } |
| |
| int GLXApiBase::glXWaitVideoSyncSGIFn(int divisor, |
| int remainder, |
| unsigned int* count) { |
| return driver_->fn.glXWaitVideoSyncSGIFn(divisor, remainder, count); |
| } |
| |
| void GLXApiBase::glXWaitXFn(void) { |
| driver_->fn.glXWaitXFn(); |
| } |
| |
| void TraceGLXApi::glXBindTexImageEXTFn(Display* dpy, |
| GLXDrawable drawable, |
| int buffer, |
| int* attribList) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXBindTexImageEXT") |
| glx_api_->glXBindTexImageEXTFn(dpy, drawable, buffer, attribList); |
| } |
| |
| GLXFBConfig* TraceGLXApi::glXChooseFBConfigFn(Display* dpy, |
| int screen, |
| const int* attribList, |
| int* nitems) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXChooseFBConfig") |
| return glx_api_->glXChooseFBConfigFn(dpy, screen, attribList, nitems); |
| } |
| |
| XVisualInfo* TraceGLXApi::glXChooseVisualFn(Display* dpy, |
| int screen, |
| int* attribList) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXChooseVisual") |
| return glx_api_->glXChooseVisualFn(dpy, screen, attribList); |
| } |
| |
| void TraceGLXApi::glXCopyContextFn(Display* dpy, |
| GLXContext src, |
| GLXContext dst, |
| unsigned long mask) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCopyContext") |
| glx_api_->glXCopyContextFn(dpy, src, dst, mask); |
| } |
| |
| void TraceGLXApi::glXCopySubBufferMESAFn(Display* dpy, |
| GLXDrawable drawable, |
| int x, |
| int y, |
| int width, |
| int height) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCopySubBufferMESA") |
| glx_api_->glXCopySubBufferMESAFn(dpy, drawable, x, y, width, height); |
| } |
| |
| GLXContext TraceGLXApi::glXCreateContextFn(Display* dpy, |
| XVisualInfo* vis, |
| GLXContext shareList, |
| int direct) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreateContext") |
| return glx_api_->glXCreateContextFn(dpy, vis, shareList, direct); |
| } |
| |
| GLXContext TraceGLXApi::glXCreateContextAttribsARBFn(Display* dpy, |
| GLXFBConfig config, |
| GLXContext share_context, |
| int direct, |
| const int* attrib_list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreateContextAttribsARB") |
| return glx_api_->glXCreateContextAttribsARBFn(dpy, config, share_context, |
| direct, attrib_list); |
| } |
| |
| GLXPixmap TraceGLXApi::glXCreateGLXPixmapFn(Display* dpy, |
| XVisualInfo* visual, |
| Pixmap pixmap) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreateGLXPixmap") |
| return glx_api_->glXCreateGLXPixmapFn(dpy, visual, pixmap); |
| } |
| |
| GLXContext TraceGLXApi::glXCreateNewContextFn(Display* dpy, |
| GLXFBConfig config, |
| int renderType, |
| GLXContext shareList, |
| int direct) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreateNewContext") |
| return glx_api_->glXCreateNewContextFn(dpy, config, renderType, shareList, |
| direct); |
| } |
| |
| GLXPbuffer TraceGLXApi::glXCreatePbufferFn(Display* dpy, |
| GLXFBConfig config, |
| const int* attribList) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreatePbuffer") |
| return glx_api_->glXCreatePbufferFn(dpy, config, attribList); |
| } |
| |
| GLXPixmap TraceGLXApi::glXCreatePixmapFn(Display* dpy, |
| GLXFBConfig config, |
| Pixmap pixmap, |
| const int* attribList) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreatePixmap") |
| return glx_api_->glXCreatePixmapFn(dpy, config, pixmap, attribList); |
| } |
| |
| GLXWindow TraceGLXApi::glXCreateWindowFn(Display* dpy, |
| GLXFBConfig config, |
| Window win, |
| const int* attribList) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXCreateWindow") |
| return glx_api_->glXCreateWindowFn(dpy, config, win, attribList); |
| } |
| |
| void TraceGLXApi::glXDestroyContextFn(Display* dpy, GLXContext ctx) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXDestroyContext") |
| glx_api_->glXDestroyContextFn(dpy, ctx); |
| } |
| |
| void TraceGLXApi::glXDestroyGLXPixmapFn(Display* dpy, GLXPixmap pixmap) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXDestroyGLXPixmap") |
| glx_api_->glXDestroyGLXPixmapFn(dpy, pixmap); |
| } |
| |
| void TraceGLXApi::glXDestroyPbufferFn(Display* dpy, GLXPbuffer pbuf) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXDestroyPbuffer") |
| glx_api_->glXDestroyPbufferFn(dpy, pbuf); |
| } |
| |
| void TraceGLXApi::glXDestroyPixmapFn(Display* dpy, GLXPixmap pixmap) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXDestroyPixmap") |
| glx_api_->glXDestroyPixmapFn(dpy, pixmap); |
| } |
| |
| void TraceGLXApi::glXDestroyWindowFn(Display* dpy, GLXWindow window) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXDestroyWindow") |
| glx_api_->glXDestroyWindowFn(dpy, window); |
| } |
| |
| const char* TraceGLXApi::glXGetClientStringFn(Display* dpy, int name) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetClientString") |
| return glx_api_->glXGetClientStringFn(dpy, name); |
| } |
| |
| int TraceGLXApi::glXGetConfigFn(Display* dpy, |
| XVisualInfo* visual, |
| int attrib, |
| int* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetConfig") |
| return glx_api_->glXGetConfigFn(dpy, visual, attrib, value); |
| } |
| |
| GLXContext TraceGLXApi::glXGetCurrentContextFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetCurrentContext") |
| return glx_api_->glXGetCurrentContextFn(); |
| } |
| |
| Display* TraceGLXApi::glXGetCurrentDisplayFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetCurrentDisplay") |
| return glx_api_->glXGetCurrentDisplayFn(); |
| } |
| |
| GLXDrawable TraceGLXApi::glXGetCurrentDrawableFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetCurrentDrawable") |
| return glx_api_->glXGetCurrentDrawableFn(); |
| } |
| |
| GLXDrawable TraceGLXApi::glXGetCurrentReadDrawableFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetCurrentReadDrawable") |
| return glx_api_->glXGetCurrentReadDrawableFn(); |
| } |
| |
| int TraceGLXApi::glXGetFBConfigAttribFn(Display* dpy, |
| GLXFBConfig config, |
| int attribute, |
| int* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetFBConfigAttrib") |
| return glx_api_->glXGetFBConfigAttribFn(dpy, config, attribute, value); |
| } |
| |
| GLXFBConfig TraceGLXApi::glXGetFBConfigFromVisualSGIXFn( |
| Display* dpy, |
| XVisualInfo* visualInfo) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", |
| "TraceGLAPI::glXGetFBConfigFromVisualSGIX") |
| return glx_api_->glXGetFBConfigFromVisualSGIXFn(dpy, visualInfo); |
| } |
| |
| GLXFBConfig* TraceGLXApi::glXGetFBConfigsFn(Display* dpy, |
| int screen, |
| int* nelements) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetFBConfigs") |
| return glx_api_->glXGetFBConfigsFn(dpy, screen, nelements); |
| } |
| |
| bool TraceGLXApi::glXGetMscRateOMLFn(Display* dpy, |
| GLXDrawable drawable, |
| int32* numerator, |
| int32* denominator) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetMscRateOML") |
| return glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator); |
| } |
| |
| void TraceGLXApi::glXGetSelectedEventFn(Display* dpy, |
| GLXDrawable drawable, |
| unsigned long* mask) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetSelectedEvent") |
| glx_api_->glXGetSelectedEventFn(dpy, drawable, mask); |
| } |
| |
| bool TraceGLXApi::glXGetSyncValuesOMLFn(Display* dpy, |
| GLXDrawable drawable, |
| int64* ust, |
| int64* msc, |
| int64* sbc) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetSyncValuesOML") |
| return glx_api_->glXGetSyncValuesOMLFn(dpy, drawable, ust, msc, sbc); |
| } |
| |
| XVisualInfo* TraceGLXApi::glXGetVisualFromFBConfigFn(Display* dpy, |
| GLXFBConfig config) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetVisualFromFBConfig") |
| return glx_api_->glXGetVisualFromFBConfigFn(dpy, config); |
| } |
| |
| int TraceGLXApi::glXIsDirectFn(Display* dpy, GLXContext ctx) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXIsDirect") |
| return glx_api_->glXIsDirectFn(dpy, ctx); |
| } |
| |
| int TraceGLXApi::glXMakeContextCurrentFn(Display* dpy, |
| GLXDrawable draw, |
| GLXDrawable read, |
| GLXContext ctx) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXMakeContextCurrent") |
| return glx_api_->glXMakeContextCurrentFn(dpy, draw, read, ctx); |
| } |
| |
| int TraceGLXApi::glXMakeCurrentFn(Display* dpy, |
| GLXDrawable drawable, |
| GLXContext ctx) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXMakeCurrent") |
| return glx_api_->glXMakeCurrentFn(dpy, drawable, ctx); |
| } |
| |
| int TraceGLXApi::glXQueryContextFn(Display* dpy, |
| GLXContext ctx, |
| int attribute, |
| int* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXQueryContext") |
| return glx_api_->glXQueryContextFn(dpy, ctx, attribute, value); |
| } |
| |
| void TraceGLXApi::glXQueryDrawableFn(Display* dpy, |
| GLXDrawable draw, |
| int attribute, |
| unsigned int* value) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXQueryDrawable") |
| glx_api_->glXQueryDrawableFn(dpy, draw, attribute, value); |
| } |
| |
| int TraceGLXApi::glXQueryExtensionFn(Display* dpy, int* errorb, int* event) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXQueryExtension") |
| return glx_api_->glXQueryExtensionFn(dpy, errorb, event); |
| } |
| |
| const char* TraceGLXApi::glXQueryExtensionsStringFn(Display* dpy, int screen) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXQueryExtensionsString") |
| return glx_api_->glXQueryExtensionsStringFn(dpy, screen); |
| } |
| |
| const char* TraceGLXApi::glXQueryServerStringFn(Display* dpy, |
| int screen, |
| int name) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXQueryServerString") |
| return glx_api_->glXQueryServerStringFn(dpy, screen, name); |
| } |
| |
| int TraceGLXApi::glXQueryVersionFn(Display* dpy, int* maj, int* min) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXQueryVersion") |
| return glx_api_->glXQueryVersionFn(dpy, maj, min); |
| } |
| |
| void TraceGLXApi::glXReleaseTexImageEXTFn(Display* dpy, |
| GLXDrawable drawable, |
| int buffer) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXReleaseTexImageEXT") |
| glx_api_->glXReleaseTexImageEXTFn(dpy, drawable, buffer); |
| } |
| |
| void TraceGLXApi::glXSelectEventFn(Display* dpy, |
| GLXDrawable drawable, |
| unsigned long mask) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXSelectEvent") |
| glx_api_->glXSelectEventFn(dpy, drawable, mask); |
| } |
| |
| void TraceGLXApi::glXSwapBuffersFn(Display* dpy, GLXDrawable drawable) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXSwapBuffers") |
| glx_api_->glXSwapBuffersFn(dpy, drawable); |
| } |
| |
| void TraceGLXApi::glXSwapIntervalEXTFn(Display* dpy, |
| GLXDrawable drawable, |
| int interval) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXSwapIntervalEXT") |
| glx_api_->glXSwapIntervalEXTFn(dpy, drawable, interval); |
| } |
| |
| void TraceGLXApi::glXSwapIntervalMESAFn(unsigned int interval) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXSwapIntervalMESA") |
| glx_api_->glXSwapIntervalMESAFn(interval); |
| } |
| |
| void TraceGLXApi::glXUseXFontFn(Font font, int first, int count, int list) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXUseXFont") |
| glx_api_->glXUseXFontFn(font, first, count, list); |
| } |
| |
| void TraceGLXApi::glXWaitGLFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXWaitGL") |
| glx_api_->glXWaitGLFn(); |
| } |
| |
| int TraceGLXApi::glXWaitVideoSyncSGIFn(int divisor, |
| int remainder, |
| unsigned int* count) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXWaitVideoSyncSGI") |
| return glx_api_->glXWaitVideoSyncSGIFn(divisor, remainder, count); |
| } |
| |
| void TraceGLXApi::glXWaitXFn(void) { |
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXWaitX") |
| glx_api_->glXWaitXFn(); |
| } |
| |
| } // namespace gfx |