diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn index 8ab8cb4beb8..4dfc5cc7a47 100644 --- a/ui/gl/BUILD.gn +++ b/ui/gl/BUILD.gn @@ -8,15 +8,7 @@ if (is_android) { import("//build/config/android/rules.gni") } -config("gl_config") { - if (use_x11) { - defines = [ "GL_GLEXT_PROTOTYPES" ] - } -} - -component("gl") { - output_name = "gl_wrapper" # Avoid colliding with OS X"s libGL.dylib. - +source_set("gl") { sources = [ "android/gl_jni_registrar.cc", "android/gl_jni_registrar.h", @@ -26,12 +18,8 @@ component("gl") { "android/surface_texture.h", "android/surface_texture_listener.cc", "android/surface_texture_listener.h", - "egl_util.cc", - "egl_util.h", "gl_bindings.cc", "gl_bindings.h", - "gl_bindings_autogen_egl.cc", - "gl_bindings_autogen_egl.h", "gl_bindings_autogen_gl.cc", "gl_bindings_autogen_gl.h", "gl_bindings_autogen_osmesa.cc", @@ -41,8 +29,6 @@ component("gl") { "gl_context.cc", "gl_context.h", "gl_context_android.cc", - "gl_context_egl.cc", - "gl_context_egl.h", "gl_context_mac.mm", "gl_context_osmesa.cc", "gl_context_osmesa.h", @@ -71,8 +57,6 @@ component("gl") { "gl_surface.cc", "gl_surface.h", "gl_surface_android.cc", - "gl_surface_egl.cc", - "gl_surface_egl.h", "gl_surface_mac.mm", "gl_surface_osmesa.cc", "gl_surface_osmesa.h", @@ -95,14 +79,10 @@ component("gl") { "sync_control_vsync_provider.h", ] - defines = [ "GL_IMPLEMENTATION" ] - include_dirs = [ - "//third_party/switfshader/include", "//third_party/mesa/src/include", ] - all_dependent_configs = [ ":gl_config" ] deps = [ "//base/third_party/dynamic_annotations", "//skia", @@ -121,25 +101,14 @@ component("gl") { "gl_implementation_osmesa.h", ] - configs += [ - "//third_party/khronos:khronos_headers", - ] + configs += [ "//third_party/khronos:khronos_headers" ] } if (is_linux) { deps += [ "//third_party/libevent" ] } if (use_x11) { sources += [ - "gl_bindings_autogen_glx.cc", - "gl_bindings_autogen_glx.h", "gl_context_osmesa_x11.cc", - "gl_egl_api_implementation.cc", - "gl_egl_api_implementation.h", - "gl_glx_api_implementation.cc", - "gl_glx_api_implementation.h", - "gl_implementation_x11.cc", - "gl_surface_glx.cc", - "gl_surface_glx.h", "gl_surface_osmesa_x11.cc", "gl_surface_osmesa_x11.h", ] @@ -154,11 +123,19 @@ component("gl") { } if (is_android) { sources += [ + "egl_util.cc", + "egl_util.h", + "gl_bindings_autogen_egl.cc", + "gl_bindings_autogen_egl.h", + "gl_context_egl.cc", + "gl_context_egl.h", "gl_egl_api_implementation.cc", "gl_egl_api_implementation.h", + "gl_surface_egl.cc", + "gl_surface_egl.h", ] - defines += [ + defines = [ "GL_GLEXT_PROTOTYPES", "EGL_EGLEXT_PROTOTYPES", ] @@ -222,24 +199,6 @@ component("gl") { } } -source_set("gl_unittest_utils") { - testonly = true - sources = [ - "gl_bindings_autogen_mock.cc", - "gl_bindings_autogen_mock.h", - "gl_mock.cc", - "gl_mock.h", - "gl_mock_autogen_gl.h", - ] - - configs += [ "//third_party/khronos:khronos_headers" ] - - deps = [ - ":gl", - "//testing/gmock", - ] -} - if (is_android) { generate_jar_jni("surface_jni_headers") { jni_package = "ui/gl" diff --git a/ui/gl/gl_bindings.cc b/ui/gl/gl_bindings.cc index 3a4694520c9..fe937521661 100644 --- a/ui/gl/gl_bindings.cc +++ b/ui/gl/gl_bindings.cc @@ -22,7 +22,7 @@ std::string DriverOSMESA::GetPlatformExtensions() { return ""; } -#if defined(USE_X11) || defined(OS_ANDROID) || defined(USE_OZONE) +#if defined(OS_ANDROID) std::string DriverEGL::GetPlatformExtensions() { EGLDisplay display = g_driver_egl.fn.eglGetDisplayFn(GetPlatformDefaultEGLNativeDisplay()); @@ -35,13 +35,4 @@ std::string DriverEGL::GetPlatformExtensions() { } #endif -#if defined(USE_X11) -std::string DriverGLX::GetPlatformExtensions() { - DCHECK(g_driver_glx.fn.glXQueryExtensionsStringFn); - const char* str = - g_driver_glx.fn.glXQueryExtensionsStringFn(gfx::GetXDisplay(), 0); - return str ? std::string(str) : ""; -} -#endif - } // namespace gfx diff --git a/ui/gl/gl_bindings.h b/ui/gl/gl_bindings.h index e102f6d14c5..fcaaf7e7592 100644 --- a/ui/gl/gl_bindings.h +++ b/ui/gl/gl_bindings.h @@ -8,9 +8,7 @@ #include // Includes the platform independent and platform dependent GL headers. -// Only include this in cc files. It pulls in system headers, including -// the X11 headers on linux, which define all kinds of macros that are -// liable to cause conflicts. +// Only include this in cc files. #include #include @@ -27,19 +25,6 @@ #include "build/build_config.h" #include "ui/gl/gl_export.h" -// The standard OpenGL native extension headers are also included. -#if defined(USE_X11) -#include -#include - -// Undefine some macros defined by X headers. This is why this file should only -// be included in .cc files. -#undef Bool -#undef None -#undef Status -#endif - - // GLES2 defines not part of Desktop GL // Shader Precision-Specified Types #define GL_LOW_FLOAT 0x8DF0 @@ -314,7 +299,6 @@ typedef void (*GLDEBUGPROCKHR)(GLenum source, GLenum type, GLuint id, #if defined(USE_X11) #include "gl_bindings_autogen_egl.h" -#include "gl_bindings_autogen_glx.h" #elif defined(USE_OZONE) #include "gl_bindings_autogen_egl.h" #elif defined(OS_ANDROID) @@ -371,21 +355,6 @@ struct GL_EXPORT DriverEGL { }; #endif -#if defined(USE_X11) -struct GL_EXPORT DriverGLX { - void InitializeStaticBindings(); - void InitializeDebugBindings(); - void ClearBindings(); - - ProcsGLX fn; - ProcsGLX debug_fn; - ExtensionsGLX ext; - - private: - static std::string GetPlatformExtensions(); -}; -#endif - // This #define is here to support autogenerated code. #define g_current_gl_context g_current_gl_context_tls->Get() GL_EXPORT extern base::ThreadLocalPointer* g_current_gl_context_tls; @@ -394,19 +363,7 @@ GL_EXPORT extern OSMESAApi* g_current_osmesa_context; GL_EXPORT extern DriverGL g_driver_gl; GL_EXPORT extern DriverOSMESA g_driver_osmesa; -#if defined(USE_X11) - -GL_EXPORT extern EGLApi* g_current_egl_context; -GL_EXPORT extern GLXApi* g_current_glx_context; -GL_EXPORT extern DriverEGL g_driver_egl; -GL_EXPORT extern DriverGLX g_driver_glx; - -#elif defined(USE_OZONE) - -GL_EXPORT extern EGLApi* g_current_egl_context; -GL_EXPORT extern DriverEGL g_driver_egl; - -#elif defined(OS_ANDROID) +#if defined(OS_ANDROID) GL_EXPORT extern EGLApi* g_current_egl_context; GL_EXPORT extern DriverEGL g_driver_egl; diff --git a/ui/gl/gl_bindings_api_autogen_glx.h b/ui/gl/gl_bindings_api_autogen_glx.h deleted file mode 100644 index 7efbae12998..00000000000 --- a/ui/gl/gl_bindings_api_autogen_glx.h +++ /dev/null @@ -1,133 +0,0 @@ -// 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! - -void glXBindTexImageEXTFn(Display* dpy, - GLXDrawable drawable, - int buffer, - int* attribList) override; -GLXFBConfig* glXChooseFBConfigFn(Display* dpy, - int screen, - const int* attribList, - int* nitems) override; -XVisualInfo* glXChooseVisualFn(Display* dpy, - int screen, - int* attribList) override; -void glXCopyContextFn(Display* dpy, - GLXContext src, - GLXContext dst, - unsigned long mask) override; -void glXCopySubBufferMESAFn(Display* dpy, - GLXDrawable drawable, - int x, - int y, - int width, - int height) override; -GLXContext glXCreateContextFn(Display* dpy, - XVisualInfo* vis, - GLXContext shareList, - int direct) override; -GLXContext glXCreateContextAttribsARBFn(Display* dpy, - GLXFBConfig config, - GLXContext share_context, - int direct, - const int* attrib_list) override; -GLXPixmap glXCreateGLXPixmapFn(Display* dpy, - XVisualInfo* visual, - Pixmap pixmap) override; -GLXContext glXCreateNewContextFn(Display* dpy, - GLXFBConfig config, - int renderType, - GLXContext shareList, - int direct) override; -GLXPbuffer glXCreatePbufferFn(Display* dpy, - GLXFBConfig config, - const int* attribList) override; -GLXPixmap glXCreatePixmapFn(Display* dpy, - GLXFBConfig config, - Pixmap pixmap, - const int* attribList) override; -GLXWindow glXCreateWindowFn(Display* dpy, - GLXFBConfig config, - Window win, - const int* attribList) override; -void glXDestroyContextFn(Display* dpy, GLXContext ctx) override; -void glXDestroyGLXPixmapFn(Display* dpy, GLXPixmap pixmap) override; -void glXDestroyPbufferFn(Display* dpy, GLXPbuffer pbuf) override; -void glXDestroyPixmapFn(Display* dpy, GLXPixmap pixmap) override; -void glXDestroyWindowFn(Display* dpy, GLXWindow window) override; -const char* glXGetClientStringFn(Display* dpy, int name) override; -int glXGetConfigFn(Display* dpy, - XVisualInfo* visual, - int attrib, - int* value) override; -GLXContext glXGetCurrentContextFn(void) override; -Display* glXGetCurrentDisplayFn(void) override; -GLXDrawable glXGetCurrentDrawableFn(void) override; -GLXDrawable glXGetCurrentReadDrawableFn(void) override; -int glXGetFBConfigAttribFn(Display* dpy, - GLXFBConfig config, - int attribute, - int* value) override; -GLXFBConfig glXGetFBConfigFromVisualSGIXFn(Display* dpy, - XVisualInfo* visualInfo) override; -GLXFBConfig* glXGetFBConfigsFn(Display* dpy, - int screen, - int* nelements) override; -bool glXGetMscRateOMLFn(Display* dpy, - GLXDrawable drawable, - int32* numerator, - int32* denominator) override; -void glXGetSelectedEventFn(Display* dpy, - GLXDrawable drawable, - unsigned long* mask) override; -bool glXGetSyncValuesOMLFn(Display* dpy, - GLXDrawable drawable, - int64* ust, - int64* msc, - int64* sbc) override; -XVisualInfo* glXGetVisualFromFBConfigFn(Display* dpy, - GLXFBConfig config) override; -int glXIsDirectFn(Display* dpy, GLXContext ctx) override; -int glXMakeContextCurrentFn(Display* dpy, - GLXDrawable draw, - GLXDrawable read, - GLXContext ctx) override; -int glXMakeCurrentFn(Display* dpy, - GLXDrawable drawable, - GLXContext ctx) override; -int glXQueryContextFn(Display* dpy, - GLXContext ctx, - int attribute, - int* value) override; -void glXQueryDrawableFn(Display* dpy, - GLXDrawable draw, - int attribute, - unsigned int* value) override; -int glXQueryExtensionFn(Display* dpy, int* errorb, int* event) override; -const char* glXQueryExtensionsStringFn(Display* dpy, int screen) override; -const char* glXQueryServerStringFn(Display* dpy, int screen, int name) override; -int glXQueryVersionFn(Display* dpy, int* maj, int* min) override; -void glXReleaseTexImageEXTFn(Display* dpy, - GLXDrawable drawable, - int buffer) override; -void glXSelectEventFn(Display* dpy, - GLXDrawable drawable, - unsigned long mask) override; -void glXSwapBuffersFn(Display* dpy, GLXDrawable drawable) override; -void glXSwapIntervalEXTFn(Display* dpy, - GLXDrawable drawable, - int interval) override; -void glXSwapIntervalMESAFn(unsigned int interval) override; -void glXUseXFontFn(Font font, int first, int count, int list) override; -void glXWaitGLFn(void) override; -int glXWaitVideoSyncSGIFn(int divisor, - int remainder, - unsigned int* count) override; -void glXWaitXFn(void) override; diff --git a/ui/gl/gl_bindings_autogen_glx.cc b/ui/gl/gl_bindings_autogen_glx.cc deleted file mode 100644 index da7aaac7165..00000000000 --- a/ui/gl/gl_bindings_autogen_glx.cc +++ /dev/null @@ -1,1535 +0,0 @@ -// 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 - -#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( - GetGLProcAddress("glXChooseFBConfig")); - fn.glXChooseVisualFn = reinterpret_cast( - GetGLProcAddress("glXChooseVisual")); - fn.glXCopyContextFn = - reinterpret_cast(GetGLProcAddress("glXCopyContext")); - fn.glXCopySubBufferMESAFn = 0; - fn.glXCreateContextFn = reinterpret_cast( - GetGLProcAddress("glXCreateContext")); - fn.glXCreateContextAttribsARBFn = 0; - fn.glXCreateGLXPixmapFn = reinterpret_cast( - GetGLProcAddress("glXCreateGLXPixmap")); - fn.glXCreateNewContextFn = reinterpret_cast( - GetGLProcAddress("glXCreateNewContext")); - fn.glXCreatePbufferFn = reinterpret_cast( - GetGLProcAddress("glXCreatePbuffer")); - fn.glXCreatePixmapFn = reinterpret_cast( - GetGLProcAddress("glXCreatePixmap")); - fn.glXCreateWindowFn = reinterpret_cast( - GetGLProcAddress("glXCreateWindow")); - fn.glXDestroyContextFn = reinterpret_cast( - GetGLProcAddress("glXDestroyContext")); - fn.glXDestroyGLXPixmapFn = reinterpret_cast( - GetGLProcAddress("glXDestroyGLXPixmap")); - fn.glXDestroyPbufferFn = reinterpret_cast( - GetGLProcAddress("glXDestroyPbuffer")); - fn.glXDestroyPixmapFn = reinterpret_cast( - GetGLProcAddress("glXDestroyPixmap")); - fn.glXDestroyWindowFn = reinterpret_cast( - GetGLProcAddress("glXDestroyWindow")); - fn.glXGetClientStringFn = reinterpret_cast( - GetGLProcAddress("glXGetClientString")); - fn.glXGetConfigFn = - reinterpret_cast(GetGLProcAddress("glXGetConfig")); - fn.glXGetCurrentContextFn = reinterpret_cast( - GetGLProcAddress("glXGetCurrentContext")); - fn.glXGetCurrentDisplayFn = reinterpret_cast( - GetGLProcAddress("glXGetCurrentDisplay")); - fn.glXGetCurrentDrawableFn = reinterpret_cast( - GetGLProcAddress("glXGetCurrentDrawable")); - fn.glXGetCurrentReadDrawableFn = - reinterpret_cast( - GetGLProcAddress("glXGetCurrentReadDrawable")); - fn.glXGetFBConfigAttribFn = reinterpret_cast( - GetGLProcAddress("glXGetFBConfigAttrib")); - fn.glXGetFBConfigFromVisualSGIXFn = 0; - fn.glXGetFBConfigsFn = reinterpret_cast( - GetGLProcAddress("glXGetFBConfigs")); - fn.glXGetMscRateOMLFn = 0; - fn.glXGetSelectedEventFn = reinterpret_cast( - GetGLProcAddress("glXGetSelectedEvent")); - fn.glXGetSyncValuesOMLFn = 0; - fn.glXGetVisualFromFBConfigFn = - reinterpret_cast( - GetGLProcAddress("glXGetVisualFromFBConfig")); - fn.glXIsDirectFn = - reinterpret_cast(GetGLProcAddress("glXIsDirect")); - fn.glXMakeContextCurrentFn = reinterpret_cast( - GetGLProcAddress("glXMakeContextCurrent")); - fn.glXMakeCurrentFn = - reinterpret_cast(GetGLProcAddress("glXMakeCurrent")); - fn.glXQueryContextFn = reinterpret_cast( - GetGLProcAddress("glXQueryContext")); - fn.glXQueryDrawableFn = reinterpret_cast( - GetGLProcAddress("glXQueryDrawable")); - fn.glXQueryExtensionFn = reinterpret_cast( - GetGLProcAddress("glXQueryExtension")); - fn.glXQueryExtensionsStringFn = - reinterpret_cast( - GetGLProcAddress("glXQueryExtensionsString")); - fn.glXQueryServerStringFn = reinterpret_cast( - GetGLProcAddress("glXQueryServerString")); - fn.glXQueryVersionFn = reinterpret_cast( - GetGLProcAddress("glXQueryVersion")); - fn.glXReleaseTexImageEXTFn = 0; - fn.glXSelectEventFn = - reinterpret_cast(GetGLProcAddress("glXSelectEvent")); - fn.glXSwapBuffersFn = - reinterpret_cast(GetGLProcAddress("glXSwapBuffers")); - fn.glXSwapIntervalEXTFn = 0; - fn.glXSwapIntervalMESAFn = 0; - fn.glXUseXFontFn = - reinterpret_cast(GetGLProcAddress("glXUseXFont")); - fn.glXWaitGLFn = - reinterpret_cast(GetGLProcAddress("glXWaitGL")); - fn.glXWaitVideoSyncSGIFn = 0; - fn.glXWaitXFn = reinterpret_cast(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( - GetGLProcAddress("glXBindTexImageEXT")); - DCHECK(fn.glXBindTexImageEXTFn); - } - - debug_fn.glXCopySubBufferMESAFn = 0; - if (ext.b_GLX_MESA_copy_sub_buffer) { - fn.glXCopySubBufferMESAFn = reinterpret_cast( - GetGLProcAddress("glXCopySubBufferMESA")); - DCHECK(fn.glXCopySubBufferMESAFn); - } - - debug_fn.glXCreateContextAttribsARBFn = 0; - if (ext.b_GLX_ARB_create_context) { - fn.glXCreateContextAttribsARBFn = - reinterpret_cast( - GetGLProcAddress("glXCreateContextAttribsARB")); - DCHECK(fn.glXCreateContextAttribsARBFn); - } - - debug_fn.glXGetFBConfigFromVisualSGIXFn = 0; - if (ext.b_GLX_SGIX_fbconfig) { - fn.glXGetFBConfigFromVisualSGIXFn = - reinterpret_cast( - GetGLProcAddress("glXGetFBConfigFromVisualSGIX")); - DCHECK(fn.glXGetFBConfigFromVisualSGIXFn); - } - - debug_fn.glXGetMscRateOMLFn = 0; - if (ext.b_GLX_OML_sync_control) { - fn.glXGetMscRateOMLFn = reinterpret_cast( - GetGLProcAddress("glXGetMscRateOML")); - DCHECK(fn.glXGetMscRateOMLFn); - } - - debug_fn.glXGetSyncValuesOMLFn = 0; - if (ext.b_GLX_OML_sync_control) { - fn.glXGetSyncValuesOMLFn = reinterpret_cast( - GetGLProcAddress("glXGetSyncValuesOML")); - DCHECK(fn.glXGetSyncValuesOMLFn); - } - - debug_fn.glXReleaseTexImageEXTFn = 0; - if (ext.b_GLX_EXT_texture_from_pixmap) { - fn.glXReleaseTexImageEXTFn = reinterpret_cast( - GetGLProcAddress("glXReleaseTexImageEXT")); - DCHECK(fn.glXReleaseTexImageEXTFn); - } - - debug_fn.glXSwapIntervalEXTFn = 0; - if (ext.b_GLX_EXT_swap_control) { - fn.glXSwapIntervalEXTFn = reinterpret_cast( - GetGLProcAddress("glXSwapIntervalEXT")); - DCHECK(fn.glXSwapIntervalEXTFn); - } - - debug_fn.glXSwapIntervalMESAFn = 0; - if (ext.b_GLX_MESA_swap_control) { - fn.glXSwapIntervalMESAFn = reinterpret_cast( - GetGLProcAddress("glXSwapIntervalMESA")); - DCHECK(fn.glXSwapIntervalMESAFn); - } - - debug_fn.glXWaitVideoSyncSGIFn = 0; - if (ext.b_GLX_SGI_video_sync) { - fn.glXWaitVideoSyncSGIFn = reinterpret_cast( - 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(dpy) << ", " << drawable - << ", " << buffer << ", " - << static_cast(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(dpy) << ", " << screen - << ", " << static_cast(attribList) << ", " - << static_cast(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(dpy) << ", " << screen - << ", " << static_cast(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(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(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(dpy) << ", " - << static_cast(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(dpy) << ", " << config - << ", " << share_context << ", " << direct << ", " - << static_cast(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(dpy) << ", " - << static_cast(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(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(dpy) << ", " << config - << ", " << static_cast(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(dpy) << ", " << config - << ", " << pixmap << ", " - << static_cast(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(dpy) << ", " << config - << ", " << win << ", " << static_cast(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(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(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(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(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(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(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(dpy) << ", " - << static_cast(visual) << ", " << attrib << ", " - << static_cast(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(dpy) << ", " << config - << ", " << attribute << ", " << static_cast(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(dpy) << ", " - << static_cast(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(dpy) << ", " << screen - << ", " << static_cast(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(dpy) << ", " << drawable - << ", " << static_cast(numerator) << ", " - << static_cast(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(dpy) << ", " << drawable - << ", " << static_cast(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(dpy) << ", " << drawable - << ", " << static_cast(ust) << ", " - << static_cast(msc) << ", " - << static_cast(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(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(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(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(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(dpy) << ", " << ctx << ", " - << attribute << ", " << static_cast(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(dpy) << ", " << draw << ", " - << attribute << ", " << static_cast(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(dpy) << ", " - << static_cast(errorb) << ", " - << static_cast(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(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(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(dpy) << ", " - << static_cast(maj) << ", " - << static_cast(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(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(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(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(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(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 diff --git a/ui/gl/gl_bindings_autogen_glx.h b/ui/gl/gl_bindings_autogen_glx.h deleted file mode 100644 index 41baf29e8d8..00000000000 --- a/ui/gl/gl_bindings_autogen_glx.h +++ /dev/null @@ -1,424 +0,0 @@ -// 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! - -#ifndef UI_GFX_GL_GL_BINDINGS_AUTOGEN_GLX_H_ -#define UI_GFX_GL_GL_BINDINGS_AUTOGEN_GLX_H_ - -namespace gfx { - -class GLContext; - -typedef void(GL_BINDING_CALL* glXBindTexImageEXTProc)(Display* dpy, - GLXDrawable drawable, - int buffer, - int* attribList); -typedef GLXFBConfig*(GL_BINDING_CALL* glXChooseFBConfigProc)( - Display* dpy, - int screen, - const int* attribList, - int* nitems); -typedef XVisualInfo*(GL_BINDING_CALL* glXChooseVisualProc)(Display* dpy, - int screen, - int* attribList); -typedef void(GL_BINDING_CALL* glXCopyContextProc)(Display* dpy, - GLXContext src, - GLXContext dst, - unsigned long mask); -typedef void(GL_BINDING_CALL* glXCopySubBufferMESAProc)(Display* dpy, - GLXDrawable drawable, - int x, - int y, - int width, - int height); -typedef GLXContext(GL_BINDING_CALL* glXCreateContextProc)(Display* dpy, - XVisualInfo* vis, - GLXContext shareList, - int direct); -typedef GLXContext(GL_BINDING_CALL* glXCreateContextAttribsARBProc)( - Display* dpy, - GLXFBConfig config, - GLXContext share_context, - int direct, - const int* attrib_list); -typedef GLXPixmap(GL_BINDING_CALL* glXCreateGLXPixmapProc)(Display* dpy, - XVisualInfo* visual, - Pixmap pixmap); -typedef GLXContext(GL_BINDING_CALL* glXCreateNewContextProc)( - Display* dpy, - GLXFBConfig config, - int renderType, - GLXContext shareList, - int direct); -typedef GLXPbuffer(GL_BINDING_CALL* glXCreatePbufferProc)( - Display* dpy, - GLXFBConfig config, - const int* attribList); -typedef GLXPixmap(GL_BINDING_CALL* glXCreatePixmapProc)(Display* dpy, - GLXFBConfig config, - Pixmap pixmap, - const int* attribList); -typedef GLXWindow(GL_BINDING_CALL* glXCreateWindowProc)(Display* dpy, - GLXFBConfig config, - Window win, - const int* attribList); -typedef void(GL_BINDING_CALL* glXDestroyContextProc)(Display* dpy, - GLXContext ctx); -typedef void(GL_BINDING_CALL* glXDestroyGLXPixmapProc)(Display* dpy, - GLXPixmap pixmap); -typedef void(GL_BINDING_CALL* glXDestroyPbufferProc)(Display* dpy, - GLXPbuffer pbuf); -typedef void(GL_BINDING_CALL* glXDestroyPixmapProc)(Display* dpy, - GLXPixmap pixmap); -typedef void(GL_BINDING_CALL* glXDestroyWindowProc)(Display* dpy, - GLXWindow window); -typedef const char*(GL_BINDING_CALL* glXGetClientStringProc)(Display* dpy, - int name); -typedef int(GL_BINDING_CALL* glXGetConfigProc)(Display* dpy, - XVisualInfo* visual, - int attrib, - int* value); -typedef GLXContext(GL_BINDING_CALL* glXGetCurrentContextProc)(void); -typedef Display*(GL_BINDING_CALL* glXGetCurrentDisplayProc)(void); -typedef GLXDrawable(GL_BINDING_CALL* glXGetCurrentDrawableProc)(void); -typedef GLXDrawable(GL_BINDING_CALL* glXGetCurrentReadDrawableProc)(void); -typedef int(GL_BINDING_CALL* glXGetFBConfigAttribProc)(Display* dpy, - GLXFBConfig config, - int attribute, - int* value); -typedef GLXFBConfig(GL_BINDING_CALL* glXGetFBConfigFromVisualSGIXProc)( - Display* dpy, - XVisualInfo* visualInfo); -typedef GLXFBConfig*(GL_BINDING_CALL* glXGetFBConfigsProc)(Display* dpy, - int screen, - int* nelements); -typedef bool(GL_BINDING_CALL* glXGetMscRateOMLProc)(Display* dpy, - GLXDrawable drawable, - int32* numerator, - int32* denominator); -typedef void(GL_BINDING_CALL* glXGetSelectedEventProc)(Display* dpy, - GLXDrawable drawable, - unsigned long* mask); -typedef bool(GL_BINDING_CALL* glXGetSyncValuesOMLProc)(Display* dpy, - GLXDrawable drawable, - int64* ust, - int64* msc, - int64* sbc); -typedef XVisualInfo*(GL_BINDING_CALL* glXGetVisualFromFBConfigProc)( - Display* dpy, - GLXFBConfig config); -typedef int(GL_BINDING_CALL* glXIsDirectProc)(Display* dpy, GLXContext ctx); -typedef int(GL_BINDING_CALL* glXMakeContextCurrentProc)(Display* dpy, - GLXDrawable draw, - GLXDrawable read, - GLXContext ctx); -typedef int(GL_BINDING_CALL* glXMakeCurrentProc)(Display* dpy, - GLXDrawable drawable, - GLXContext ctx); -typedef int(GL_BINDING_CALL* glXQueryContextProc)(Display* dpy, - GLXContext ctx, - int attribute, - int* value); -typedef void(GL_BINDING_CALL* glXQueryDrawableProc)(Display* dpy, - GLXDrawable draw, - int attribute, - unsigned int* value); -typedef int(GL_BINDING_CALL* glXQueryExtensionProc)(Display* dpy, - int* errorb, - int* event); -typedef const char*(GL_BINDING_CALL* glXQueryExtensionsStringProc)(Display* dpy, - int screen); -typedef const char*(GL_BINDING_CALL* glXQueryServerStringProc)(Display* dpy, - int screen, - int name); -typedef int(GL_BINDING_CALL* glXQueryVersionProc)(Display* dpy, - int* maj, - int* min); -typedef void(GL_BINDING_CALL* glXReleaseTexImageEXTProc)(Display* dpy, - GLXDrawable drawable, - int buffer); -typedef void(GL_BINDING_CALL* glXSelectEventProc)(Display* dpy, - GLXDrawable drawable, - unsigned long mask); -typedef void(GL_BINDING_CALL* glXSwapBuffersProc)(Display* dpy, - GLXDrawable drawable); -typedef void(GL_BINDING_CALL* glXSwapIntervalEXTProc)(Display* dpy, - GLXDrawable drawable, - int interval); -typedef void(GL_BINDING_CALL* glXSwapIntervalMESAProc)(unsigned int interval); -typedef void(GL_BINDING_CALL* glXUseXFontProc)(Font font, - int first, - int count, - int list); -typedef void(GL_BINDING_CALL* glXWaitGLProc)(void); -typedef int(GL_BINDING_CALL* glXWaitVideoSyncSGIProc)(int divisor, - int remainder, - unsigned int* count); -typedef void(GL_BINDING_CALL* glXWaitXProc)(void); - -struct ExtensionsGLX { - bool b_GLX_ARB_create_context; - bool b_GLX_EXT_swap_control; - bool b_GLX_EXT_texture_from_pixmap; - bool b_GLX_MESA_copy_sub_buffer; - bool b_GLX_MESA_swap_control; - bool b_GLX_OML_sync_control; - bool b_GLX_SGIX_fbconfig; - bool b_GLX_SGI_video_sync; -}; - -struct ProcsGLX { - glXBindTexImageEXTProc glXBindTexImageEXTFn; - glXChooseFBConfigProc glXChooseFBConfigFn; - glXChooseVisualProc glXChooseVisualFn; - glXCopyContextProc glXCopyContextFn; - glXCopySubBufferMESAProc glXCopySubBufferMESAFn; - glXCreateContextProc glXCreateContextFn; - glXCreateContextAttribsARBProc glXCreateContextAttribsARBFn; - glXCreateGLXPixmapProc glXCreateGLXPixmapFn; - glXCreateNewContextProc glXCreateNewContextFn; - glXCreatePbufferProc glXCreatePbufferFn; - glXCreatePixmapProc glXCreatePixmapFn; - glXCreateWindowProc glXCreateWindowFn; - glXDestroyContextProc glXDestroyContextFn; - glXDestroyGLXPixmapProc glXDestroyGLXPixmapFn; - glXDestroyPbufferProc glXDestroyPbufferFn; - glXDestroyPixmapProc glXDestroyPixmapFn; - glXDestroyWindowProc glXDestroyWindowFn; - glXGetClientStringProc glXGetClientStringFn; - glXGetConfigProc glXGetConfigFn; - glXGetCurrentContextProc glXGetCurrentContextFn; - glXGetCurrentDisplayProc glXGetCurrentDisplayFn; - glXGetCurrentDrawableProc glXGetCurrentDrawableFn; - glXGetCurrentReadDrawableProc glXGetCurrentReadDrawableFn; - glXGetFBConfigAttribProc glXGetFBConfigAttribFn; - glXGetFBConfigFromVisualSGIXProc glXGetFBConfigFromVisualSGIXFn; - glXGetFBConfigsProc glXGetFBConfigsFn; - glXGetMscRateOMLProc glXGetMscRateOMLFn; - glXGetSelectedEventProc glXGetSelectedEventFn; - glXGetSyncValuesOMLProc glXGetSyncValuesOMLFn; - glXGetVisualFromFBConfigProc glXGetVisualFromFBConfigFn; - glXIsDirectProc glXIsDirectFn; - glXMakeContextCurrentProc glXMakeContextCurrentFn; - glXMakeCurrentProc glXMakeCurrentFn; - glXQueryContextProc glXQueryContextFn; - glXQueryDrawableProc glXQueryDrawableFn; - glXQueryExtensionProc glXQueryExtensionFn; - glXQueryExtensionsStringProc glXQueryExtensionsStringFn; - glXQueryServerStringProc glXQueryServerStringFn; - glXQueryVersionProc glXQueryVersionFn; - glXReleaseTexImageEXTProc glXReleaseTexImageEXTFn; - glXSelectEventProc glXSelectEventFn; - glXSwapBuffersProc glXSwapBuffersFn; - glXSwapIntervalEXTProc glXSwapIntervalEXTFn; - glXSwapIntervalMESAProc glXSwapIntervalMESAFn; - glXUseXFontProc glXUseXFontFn; - glXWaitGLProc glXWaitGLFn; - glXWaitVideoSyncSGIProc glXWaitVideoSyncSGIFn; - glXWaitXProc glXWaitXFn; -}; - -class GL_EXPORT GLXApi { - public: - GLXApi(); - virtual ~GLXApi(); - - virtual void glXBindTexImageEXTFn(Display* dpy, - GLXDrawable drawable, - int buffer, - int* attribList) = 0; - virtual GLXFBConfig* glXChooseFBConfigFn(Display* dpy, - int screen, - const int* attribList, - int* nitems) = 0; - virtual XVisualInfo* glXChooseVisualFn(Display* dpy, - int screen, - int* attribList) = 0; - virtual void glXCopyContextFn(Display* dpy, - GLXContext src, - GLXContext dst, - unsigned long mask) = 0; - virtual void glXCopySubBufferMESAFn(Display* dpy, - GLXDrawable drawable, - int x, - int y, - int width, - int height) = 0; - virtual GLXContext glXCreateContextFn(Display* dpy, - XVisualInfo* vis, - GLXContext shareList, - int direct) = 0; - virtual GLXContext glXCreateContextAttribsARBFn(Display* dpy, - GLXFBConfig config, - GLXContext share_context, - int direct, - const int* attrib_list) = 0; - virtual GLXPixmap glXCreateGLXPixmapFn(Display* dpy, - XVisualInfo* visual, - Pixmap pixmap) = 0; - virtual GLXContext glXCreateNewContextFn(Display* dpy, - GLXFBConfig config, - int renderType, - GLXContext shareList, - int direct) = 0; - virtual GLXPbuffer glXCreatePbufferFn(Display* dpy, - GLXFBConfig config, - const int* attribList) = 0; - virtual GLXPixmap glXCreatePixmapFn(Display* dpy, - GLXFBConfig config, - Pixmap pixmap, - const int* attribList) = 0; - virtual GLXWindow glXCreateWindowFn(Display* dpy, - GLXFBConfig config, - Window win, - const int* attribList) = 0; - virtual void glXDestroyContextFn(Display* dpy, GLXContext ctx) = 0; - virtual void glXDestroyGLXPixmapFn(Display* dpy, GLXPixmap pixmap) = 0; - virtual void glXDestroyPbufferFn(Display* dpy, GLXPbuffer pbuf) = 0; - virtual void glXDestroyPixmapFn(Display* dpy, GLXPixmap pixmap) = 0; - virtual void glXDestroyWindowFn(Display* dpy, GLXWindow window) = 0; - virtual const char* glXGetClientStringFn(Display* dpy, int name) = 0; - virtual int glXGetConfigFn(Display* dpy, - XVisualInfo* visual, - int attrib, - int* value) = 0; - virtual GLXContext glXGetCurrentContextFn(void) = 0; - virtual Display* glXGetCurrentDisplayFn(void) = 0; - virtual GLXDrawable glXGetCurrentDrawableFn(void) = 0; - virtual GLXDrawable glXGetCurrentReadDrawableFn(void) = 0; - virtual int glXGetFBConfigAttribFn(Display* dpy, - GLXFBConfig config, - int attribute, - int* value) = 0; - virtual GLXFBConfig glXGetFBConfigFromVisualSGIXFn( - Display* dpy, - XVisualInfo* visualInfo) = 0; - virtual GLXFBConfig* glXGetFBConfigsFn(Display* dpy, - int screen, - int* nelements) = 0; - virtual bool glXGetMscRateOMLFn(Display* dpy, - GLXDrawable drawable, - int32* numerator, - int32* denominator) = 0; - virtual void glXGetSelectedEventFn(Display* dpy, - GLXDrawable drawable, - unsigned long* mask) = 0; - virtual bool glXGetSyncValuesOMLFn(Display* dpy, - GLXDrawable drawable, - int64* ust, - int64* msc, - int64* sbc) = 0; - virtual XVisualInfo* glXGetVisualFromFBConfigFn(Display* dpy, - GLXFBConfig config) = 0; - virtual int glXIsDirectFn(Display* dpy, GLXContext ctx) = 0; - virtual int glXMakeContextCurrentFn(Display* dpy, - GLXDrawable draw, - GLXDrawable read, - GLXContext ctx) = 0; - virtual int glXMakeCurrentFn(Display* dpy, - GLXDrawable drawable, - GLXContext ctx) = 0; - virtual int glXQueryContextFn(Display* dpy, - GLXContext ctx, - int attribute, - int* value) = 0; - virtual void glXQueryDrawableFn(Display* dpy, - GLXDrawable draw, - int attribute, - unsigned int* value) = 0; - virtual int glXQueryExtensionFn(Display* dpy, int* errorb, int* event) = 0; - virtual const char* glXQueryExtensionsStringFn(Display* dpy, int screen) = 0; - virtual const char* glXQueryServerStringFn(Display* dpy, - int screen, - int name) = 0; - virtual int glXQueryVersionFn(Display* dpy, int* maj, int* min) = 0; - virtual void glXReleaseTexImageEXTFn(Display* dpy, - GLXDrawable drawable, - int buffer) = 0; - virtual void glXSelectEventFn(Display* dpy, - GLXDrawable drawable, - unsigned long mask) = 0; - virtual void glXSwapBuffersFn(Display* dpy, GLXDrawable drawable) = 0; - virtual void glXSwapIntervalEXTFn(Display* dpy, - GLXDrawable drawable, - int interval) = 0; - virtual void glXSwapIntervalMESAFn(unsigned int interval) = 0; - virtual void glXUseXFontFn(Font font, int first, int count, int list) = 0; - virtual void glXWaitGLFn(void) = 0; - virtual int glXWaitVideoSyncSGIFn(int divisor, - int remainder, - unsigned int* count) = 0; - virtual void glXWaitXFn(void) = 0; -}; - -} // namespace gfx - -#define glXBindTexImageEXT ::gfx::g_current_glx_context->glXBindTexImageEXTFn -#define glXChooseFBConfig ::gfx::g_current_glx_context->glXChooseFBConfigFn -#define glXChooseVisual ::gfx::g_current_glx_context->glXChooseVisualFn -#define glXCopyContext ::gfx::g_current_glx_context->glXCopyContextFn -#define glXCopySubBufferMESA \ - ::gfx::g_current_glx_context->glXCopySubBufferMESAFn -#define glXCreateContext ::gfx::g_current_glx_context->glXCreateContextFn -#define glXCreateContextAttribsARB \ - ::gfx::g_current_glx_context->glXCreateContextAttribsARBFn -#define glXCreateGLXPixmap ::gfx::g_current_glx_context->glXCreateGLXPixmapFn -#define glXCreateNewContext ::gfx::g_current_glx_context->glXCreateNewContextFn -#define glXCreatePbuffer ::gfx::g_current_glx_context->glXCreatePbufferFn -#define glXCreatePixmap ::gfx::g_current_glx_context->glXCreatePixmapFn -#define glXCreateWindow ::gfx::g_current_glx_context->glXCreateWindowFn -#define glXDestroyContext ::gfx::g_current_glx_context->glXDestroyContextFn -#define glXDestroyGLXPixmap ::gfx::g_current_glx_context->glXDestroyGLXPixmapFn -#define glXDestroyPbuffer ::gfx::g_current_glx_context->glXDestroyPbufferFn -#define glXDestroyPixmap ::gfx::g_current_glx_context->glXDestroyPixmapFn -#define glXDestroyWindow ::gfx::g_current_glx_context->glXDestroyWindowFn -#define glXGetClientString ::gfx::g_current_glx_context->glXGetClientStringFn -#define glXGetConfig ::gfx::g_current_glx_context->glXGetConfigFn -#define glXGetCurrentContext \ - ::gfx::g_current_glx_context->glXGetCurrentContextFn -#define glXGetCurrentDisplay \ - ::gfx::g_current_glx_context->glXGetCurrentDisplayFn -#define glXGetCurrentDrawable \ - ::gfx::g_current_glx_context->glXGetCurrentDrawableFn -#define glXGetCurrentReadDrawable \ - ::gfx::g_current_glx_context->glXGetCurrentReadDrawableFn -#define glXGetFBConfigAttrib \ - ::gfx::g_current_glx_context->glXGetFBConfigAttribFn -#define glXGetFBConfigFromVisualSGIX \ - ::gfx::g_current_glx_context->glXGetFBConfigFromVisualSGIXFn -#define glXGetFBConfigs ::gfx::g_current_glx_context->glXGetFBConfigsFn -#define glXGetMscRateOML ::gfx::g_current_glx_context->glXGetMscRateOMLFn -#define glXGetSelectedEvent ::gfx::g_current_glx_context->glXGetSelectedEventFn -#define glXGetSyncValuesOML ::gfx::g_current_glx_context->glXGetSyncValuesOMLFn -#define glXGetVisualFromFBConfig \ - ::gfx::g_current_glx_context->glXGetVisualFromFBConfigFn -#define glXIsDirect ::gfx::g_current_glx_context->glXIsDirectFn -#define glXMakeContextCurrent \ - ::gfx::g_current_glx_context->glXMakeContextCurrentFn -#define glXMakeCurrent ::gfx::g_current_glx_context->glXMakeCurrentFn -#define glXQueryContext ::gfx::g_current_glx_context->glXQueryContextFn -#define glXQueryDrawable ::gfx::g_current_glx_context->glXQueryDrawableFn -#define glXQueryExtension ::gfx::g_current_glx_context->glXQueryExtensionFn -#define glXQueryExtensionsString \ - ::gfx::g_current_glx_context->glXQueryExtensionsStringFn -#define glXQueryServerString \ - ::gfx::g_current_glx_context->glXQueryServerStringFn -#define glXQueryVersion ::gfx::g_current_glx_context->glXQueryVersionFn -#define glXReleaseTexImageEXT \ - ::gfx::g_current_glx_context->glXReleaseTexImageEXTFn -#define glXSelectEvent ::gfx::g_current_glx_context->glXSelectEventFn -#define glXSwapBuffers ::gfx::g_current_glx_context->glXSwapBuffersFn -#define glXSwapIntervalEXT ::gfx::g_current_glx_context->glXSwapIntervalEXTFn -#define glXSwapIntervalMESA ::gfx::g_current_glx_context->glXSwapIntervalMESAFn -#define glXUseXFont ::gfx::g_current_glx_context->glXUseXFontFn -#define glXWaitGL ::gfx::g_current_glx_context->glXWaitGLFn -#define glXWaitVideoSyncSGI ::gfx::g_current_glx_context->glXWaitVideoSyncSGIFn -#define glXWaitX ::gfx::g_current_glx_context->glXWaitXFn - -#endif // UI_GFX_GL_GL_BINDINGS_AUTOGEN_GLX_H_ diff --git a/ui/gl/gl_bindings_autogen_mock.cc b/ui/gl/gl_bindings_autogen_mock.cc deleted file mode 100644 index 6f0a9dba8a0..00000000000 --- a/ui/gl/gl_bindings_autogen_mock.cc +++ /dev/null @@ -1,3359 +0,0 @@ -// 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 - -#include "ui/gl/gl_mock.h" - -namespace gfx { - -// This is called mainly to prevent the compiler combining the code of mock -// functions with identical contents, so that their function pointers will be -// different. -void MakeFunctionUnique(const char* func_name) { - VLOG(2) << "Calling mock " << func_name; -} - -void GL_BINDING_CALL MockGLInterface::Mock_glActiveTexture(GLenum texture) { - MakeFunctionUnique("glActiveTexture"); - interface_->ActiveTexture(texture); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glAttachShader(GLuint program, - GLuint shader) { - MakeFunctionUnique("glAttachShader"); - interface_->AttachShader(program, shader); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBeginQuery(GLenum target, - GLuint id) { - MakeFunctionUnique("glBeginQuery"); - interface_->BeginQuery(target, id); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBeginQueryARB(GLenum target, - GLuint id) { - MakeFunctionUnique("glBeginQueryARB"); - interface_->BeginQuery(target, id); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBeginQueryEXT(GLenum target, - GLuint id) { - MakeFunctionUnique("glBeginQueryEXT"); - interface_->BeginQuery(target, id); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBeginTransformFeedback(GLenum primitiveMode) { - MakeFunctionUnique("glBeginTransformFeedback"); - interface_->BeginTransformFeedback(primitiveMode); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindAttribLocation(GLuint program, - GLuint index, - const char* name) { - MakeFunctionUnique("glBindAttribLocation"); - interface_->BindAttribLocation(program, index, name); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindBuffer(GLenum target, - GLuint buffer) { - MakeFunctionUnique("glBindBuffer"); - interface_->BindBuffer(target, buffer); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindBufferBase(GLenum target, - GLuint index, - GLuint buffer) { - MakeFunctionUnique("glBindBufferBase"); - interface_->BindBufferBase(target, index, buffer); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindBufferRange(GLenum target, - GLuint index, - GLuint buffer, - GLintptr offset, - GLsizeiptr size) { - MakeFunctionUnique("glBindBufferRange"); - interface_->BindBufferRange(target, index, buffer, offset, size); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindFragDataLocation(GLuint program, - GLuint colorNumber, - const char* name) { - MakeFunctionUnique("glBindFragDataLocation"); - interface_->BindFragDataLocation(program, colorNumber, name); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindFragDataLocationIndexed(GLuint program, - GLuint colorNumber, - GLuint index, - const char* name) { - MakeFunctionUnique("glBindFragDataLocationIndexed"); - interface_->BindFragDataLocationIndexed(program, colorNumber, index, name); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindFramebuffer(GLenum target, GLuint framebuffer) { - MakeFunctionUnique("glBindFramebuffer"); - interface_->BindFramebufferEXT(target, framebuffer); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindFramebufferEXT(GLenum target, GLuint framebuffer) { - MakeFunctionUnique("glBindFramebufferEXT"); - interface_->BindFramebufferEXT(target, framebuffer); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - MakeFunctionUnique("glBindRenderbuffer"); - interface_->BindRenderbufferEXT(target, renderbuffer); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindRenderbufferEXT(GLenum target, - GLuint renderbuffer) { - MakeFunctionUnique("glBindRenderbufferEXT"); - interface_->BindRenderbufferEXT(target, renderbuffer); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindSampler(GLuint unit, - GLuint sampler) { - MakeFunctionUnique("glBindSampler"); - interface_->BindSampler(unit, sampler); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindTexture(GLenum target, - GLuint texture) { - MakeFunctionUnique("glBindTexture"); - interface_->BindTexture(target, texture); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindTransformFeedback(GLenum target, GLuint id) { - MakeFunctionUnique("glBindTransformFeedback"); - interface_->BindTransformFeedback(target, id); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindVertexArray(GLuint array) { - MakeFunctionUnique("glBindVertexArray"); - interface_->BindVertexArrayOES(array); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBindVertexArrayAPPLE(GLuint array) { - MakeFunctionUnique("glBindVertexArrayAPPLE"); - interface_->BindVertexArrayOES(array); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBindVertexArrayOES(GLuint array) { - MakeFunctionUnique("glBindVertexArrayOES"); - interface_->BindVertexArrayOES(array); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlendBarrierKHR(void) { - MakeFunctionUnique("glBlendBarrierKHR"); - interface_->BlendBarrierKHR(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlendBarrierNV(void) { - MakeFunctionUnique("glBlendBarrierNV"); - interface_->BlendBarrierKHR(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlendColor(GLclampf red, - GLclampf green, - GLclampf blue, - GLclampf alpha) { - MakeFunctionUnique("glBlendColor"); - interface_->BlendColor(red, green, blue, alpha); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlendEquation(GLenum mode) { - MakeFunctionUnique("glBlendEquation"); - interface_->BlendEquation(mode); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBlendEquationSeparate(GLenum modeRGB, - GLenum modeAlpha) { - MakeFunctionUnique("glBlendEquationSeparate"); - interface_->BlendEquationSeparate(modeRGB, modeAlpha); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlendFunc(GLenum sfactor, - GLenum dfactor) { - MakeFunctionUnique("glBlendFunc"); - interface_->BlendFunc(sfactor, dfactor); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBlendFuncSeparate(GLenum srcRGB, - GLenum dstRGB, - GLenum srcAlpha, - GLenum dstAlpha) { - MakeFunctionUnique("glBlendFuncSeparate"); - interface_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlitFramebuffer(GLint srcX0, - GLint srcY0, - GLint srcX1, - GLint srcY1, - GLint dstX0, - GLint dstY0, - GLint dstX1, - GLint dstY1, - GLbitfield mask, - GLenum filter) { - MakeFunctionUnique("glBlitFramebuffer"); - interface_->BlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, - dstX1, dstY1, mask, filter); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glBlitFramebufferANGLE(GLint srcX0, - GLint srcY0, - GLint srcX1, - GLint srcY1, - GLint dstX0, - GLint dstY0, - GLint dstX1, - GLint dstY1, - GLbitfield mask, - GLenum filter) { - MakeFunctionUnique("glBlitFramebufferANGLE"); - interface_->BlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, - dstX1, dstY1, mask, filter); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBlitFramebufferEXT(GLint srcX0, - GLint srcY0, - GLint srcX1, - GLint srcY1, - GLint dstX0, - GLint dstY0, - GLint dstX1, - GLint dstY1, - GLbitfield mask, - GLenum filter) { - MakeFunctionUnique("glBlitFramebufferEXT"); - interface_->BlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, - dstX1, dstY1, mask, filter); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBufferData(GLenum target, - GLsizeiptr size, - const void* data, - GLenum usage) { - MakeFunctionUnique("glBufferData"); - interface_->BufferData(target, size, data, usage); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glBufferSubData(GLenum target, - GLintptr offset, - GLsizeiptr size, - const void* data) { - MakeFunctionUnique("glBufferSubData"); - interface_->BufferSubData(target, offset, size, data); -} - -GLenum GL_BINDING_CALL -MockGLInterface::Mock_glCheckFramebufferStatus(GLenum target) { - MakeFunctionUnique("glCheckFramebufferStatus"); - return interface_->CheckFramebufferStatusEXT(target); -} - -GLenum GL_BINDING_CALL -MockGLInterface::Mock_glCheckFramebufferStatusEXT(GLenum target) { - MakeFunctionUnique("glCheckFramebufferStatusEXT"); - return interface_->CheckFramebufferStatusEXT(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClear(GLbitfield mask) { - MakeFunctionUnique("glClear"); - interface_->Clear(mask); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClearBufferfi(GLenum buffer, - GLint drawbuffer, - const GLfloat depth, - GLint stencil) { - MakeFunctionUnique("glClearBufferfi"); - interface_->ClearBufferfi(buffer, drawbuffer, depth, stencil); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glClearBufferfv(GLenum buffer, - GLint drawbuffer, - const GLfloat* value) { - MakeFunctionUnique("glClearBufferfv"); - interface_->ClearBufferfv(buffer, drawbuffer, value); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClearBufferiv(GLenum buffer, - GLint drawbuffer, - const GLint* value) { - MakeFunctionUnique("glClearBufferiv"); - interface_->ClearBufferiv(buffer, drawbuffer, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glClearBufferuiv(GLenum buffer, - GLint drawbuffer, - const GLuint* value) { - MakeFunctionUnique("glClearBufferuiv"); - interface_->ClearBufferuiv(buffer, drawbuffer, value); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClearColor(GLclampf red, - GLclampf green, - GLclampf blue, - GLclampf alpha) { - MakeFunctionUnique("glClearColor"); - interface_->ClearColor(red, green, blue, alpha); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClearDepth(GLclampd depth) { - MakeFunctionUnique("glClearDepth"); - interface_->ClearDepth(depth); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClearDepthf(GLclampf depth) { - MakeFunctionUnique("glClearDepthf"); - interface_->ClearDepthf(depth); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glClearStencil(GLint s) { - MakeFunctionUnique("glClearStencil"); - interface_->ClearStencil(s); -} - -GLenum GL_BINDING_CALL -MockGLInterface::Mock_glClientWaitSync(GLsync sync, - GLbitfield flags, - GLuint64 timeout) { - MakeFunctionUnique("glClientWaitSync"); - return interface_->ClientWaitSync(sync, flags, timeout); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glColorMask(GLboolean red, - GLboolean green, - GLboolean blue, - GLboolean alpha) { - MakeFunctionUnique("glColorMask"); - interface_->ColorMask(red, green, blue, alpha); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glCompileShader(GLuint shader) { - MakeFunctionUnique("glCompileShader"); - interface_->CompileShader(shader); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glCompressedTexImage2D(GLenum target, - GLint level, - GLenum internalformat, - GLsizei width, - GLsizei height, - GLint border, - GLsizei imageSize, - const void* data) { - MakeFunctionUnique("glCompressedTexImage2D"); - interface_->CompressedTexImage2D(target, level, internalformat, width, height, - border, imageSize, data); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glCompressedTexImage3D(GLenum target, - GLint level, - GLenum internalformat, - GLsizei width, - GLsizei height, - GLsizei depth, - GLint border, - GLsizei imageSize, - const void* data) { - MakeFunctionUnique("glCompressedTexImage3D"); - interface_->CompressedTexImage3D(target, level, internalformat, width, height, - depth, border, imageSize, data); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glCompressedTexSubImage2D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLsizei width, - GLsizei height, - GLenum format, - GLsizei imageSize, - const void* data) { - MakeFunctionUnique("glCompressedTexSubImage2D"); - interface_->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, - height, format, imageSize, data); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glCopyBufferSubData(GLenum readTarget, - GLenum writeTarget, - GLintptr readOffset, - GLintptr writeOffset, - GLsizeiptr size) { - MakeFunctionUnique("glCopyBufferSubData"); - interface_->CopyBufferSubData(readTarget, writeTarget, readOffset, - writeOffset, size); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glCopyTexImage2D(GLenum target, - GLint level, - GLenum internalformat, - GLint x, - GLint y, - GLsizei width, - GLsizei height, - GLint border) { - MakeFunctionUnique("glCopyTexImage2D"); - interface_->CopyTexImage2D(target, level, internalformat, x, y, width, height, - border); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glCopyTexSubImage2D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLint x, - GLint y, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glCopyTexSubImage2D"); - interface_->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, - height); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glCopyTexSubImage3D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLint zoffset, - GLint x, - GLint y, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glCopyTexSubImage3D"); - interface_->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, - width, height); -} - -GLuint GL_BINDING_CALL MockGLInterface::Mock_glCreateProgram(void) { - MakeFunctionUnique("glCreateProgram"); - return interface_->CreateProgram(); -} - -GLuint GL_BINDING_CALL MockGLInterface::Mock_glCreateShader(GLenum type) { - MakeFunctionUnique("glCreateShader"); - return interface_->CreateShader(type); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glCullFace(GLenum mode) { - MakeFunctionUnique("glCullFace"); - interface_->CullFace(mode); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, - const void* userparam) { - MakeFunctionUnique("glDebugMessageCallbackKHR"); - interface_->DebugMessageCallbackKHR(callback, userparam); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDebugMessageControlKHR(GLenum source, - GLenum type, - GLenum severity, - GLsizei count, - const GLuint* ids, - GLboolean enabled) { - MakeFunctionUnique("glDebugMessageControlKHR"); - interface_->DebugMessageControlKHR(source, type, severity, count, ids, - enabled); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDebugMessageInsertKHR(GLenum source, - GLenum type, - GLuint id, - GLenum severity, - GLsizei length, - const GLchar* buf) { - MakeFunctionUnique("glDebugMessageInsertKHR"); - interface_->DebugMessageInsertKHR(source, type, id, severity, length, buf); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteBuffers(GLsizei n, const GLuint* buffers) { - MakeFunctionUnique("glDeleteBuffers"); - interface_->DeleteBuffersARB(n, buffers); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteFencesAPPLE(GLsizei n, const GLuint* fences) { - MakeFunctionUnique("glDeleteFencesAPPLE"); - interface_->DeleteFencesAPPLE(n, fences); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteFencesNV(GLsizei n, const GLuint* fences) { - MakeFunctionUnique("glDeleteFencesNV"); - interface_->DeleteFencesNV(n, fences); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteFramebuffers(GLsizei n, - const GLuint* framebuffers) { - MakeFunctionUnique("glDeleteFramebuffers"); - interface_->DeleteFramebuffersEXT(n, framebuffers); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteFramebuffersEXT(GLsizei n, - const GLuint* framebuffers) { - MakeFunctionUnique("glDeleteFramebuffersEXT"); - interface_->DeleteFramebuffersEXT(n, framebuffers); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDeleteProgram(GLuint program) { - MakeFunctionUnique("glDeleteProgram"); - interface_->DeleteProgram(program); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDeleteQueries(GLsizei n, - const GLuint* ids) { - MakeFunctionUnique("glDeleteQueries"); - interface_->DeleteQueries(n, ids); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteQueriesARB(GLsizei n, const GLuint* ids) { - MakeFunctionUnique("glDeleteQueriesARB"); - interface_->DeleteQueries(n, ids); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteQueriesEXT(GLsizei n, const GLuint* ids) { - MakeFunctionUnique("glDeleteQueriesEXT"); - interface_->DeleteQueries(n, ids); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteRenderbuffers(GLsizei n, - const GLuint* renderbuffers) { - MakeFunctionUnique("glDeleteRenderbuffers"); - interface_->DeleteRenderbuffersEXT(n, renderbuffers); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteRenderbuffersEXT(GLsizei n, - const GLuint* renderbuffers) { - MakeFunctionUnique("glDeleteRenderbuffersEXT"); - interface_->DeleteRenderbuffersEXT(n, renderbuffers); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteSamplers(GLsizei n, const GLuint* samplers) { - MakeFunctionUnique("glDeleteSamplers"); - interface_->DeleteSamplers(n, samplers); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDeleteShader(GLuint shader) { - MakeFunctionUnique("glDeleteShader"); - interface_->DeleteShader(shader); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDeleteSync(GLsync sync) { - MakeFunctionUnique("glDeleteSync"); - interface_->DeleteSync(sync); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteTextures(GLsizei n, const GLuint* textures) { - MakeFunctionUnique("glDeleteTextures"); - interface_->DeleteTextures(n, textures); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids) { - MakeFunctionUnique("glDeleteTransformFeedbacks"); - interface_->DeleteTransformFeedbacks(n, ids); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteVertexArrays(GLsizei n, const GLuint* arrays) { - MakeFunctionUnique("glDeleteVertexArrays"); - interface_->DeleteVertexArraysOES(n, arrays); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteVertexArraysAPPLE(GLsizei n, - const GLuint* arrays) { - MakeFunctionUnique("glDeleteVertexArraysAPPLE"); - interface_->DeleteVertexArraysOES(n, arrays); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays) { - MakeFunctionUnique("glDeleteVertexArraysOES"); - interface_->DeleteVertexArraysOES(n, arrays); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDepthFunc(GLenum func) { - MakeFunctionUnique("glDepthFunc"); - interface_->DepthFunc(func); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDepthMask(GLboolean flag) { - MakeFunctionUnique("glDepthMask"); - interface_->DepthMask(flag); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDepthRange(GLclampd zNear, - GLclampd zFar) { - MakeFunctionUnique("glDepthRange"); - interface_->DepthRange(zNear, zFar); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDepthRangef(GLclampf zNear, - GLclampf zFar) { - MakeFunctionUnique("glDepthRangef"); - interface_->DepthRangef(zNear, zFar); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDetachShader(GLuint program, - GLuint shader) { - MakeFunctionUnique("glDetachShader"); - interface_->DetachShader(program, shader); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDisable(GLenum cap) { - MakeFunctionUnique("glDisable"); - interface_->Disable(cap); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDisableVertexAttribArray(GLuint index) { - MakeFunctionUnique("glDisableVertexAttribArray"); - interface_->DisableVertexAttribArray(index); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDiscardFramebufferEXT(GLenum target, - GLsizei numAttachments, - const GLenum* attachments) { - MakeFunctionUnique("glDiscardFramebufferEXT"); - interface_->DiscardFramebufferEXT(target, numAttachments, attachments); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDrawArrays(GLenum mode, - GLint first, - GLsizei count) { - MakeFunctionUnique("glDrawArrays"); - interface_->DrawArrays(mode, first, count); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawArraysInstanced(GLenum mode, - GLint first, - GLsizei count, - GLsizei primcount) { - MakeFunctionUnique("glDrawArraysInstanced"); - interface_->DrawArraysInstancedANGLE(mode, first, count, primcount); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawArraysInstancedANGLE(GLenum mode, - GLint first, - GLsizei count, - GLsizei primcount) { - MakeFunctionUnique("glDrawArraysInstancedANGLE"); - interface_->DrawArraysInstancedANGLE(mode, first, count, primcount); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawArraysInstancedARB(GLenum mode, - GLint first, - GLsizei count, - GLsizei primcount) { - MakeFunctionUnique("glDrawArraysInstancedARB"); - interface_->DrawArraysInstancedANGLE(mode, first, count, primcount); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDrawBuffer(GLenum mode) { - MakeFunctionUnique("glDrawBuffer"); - interface_->DrawBuffer(mode); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDrawBuffers(GLsizei n, - const GLenum* bufs) { - MakeFunctionUnique("glDrawBuffers"); - interface_->DrawBuffersARB(n, bufs); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawBuffersARB(GLsizei n, const GLenum* bufs) { - MakeFunctionUnique("glDrawBuffersARB"); - interface_->DrawBuffersARB(n, bufs); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawBuffersEXT(GLsizei n, const GLenum* bufs) { - MakeFunctionUnique("glDrawBuffersEXT"); - interface_->DrawBuffersARB(n, bufs); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glDrawElements(GLenum mode, - GLsizei count, - GLenum type, - const void* indices) { - MakeFunctionUnique("glDrawElements"); - interface_->DrawElements(mode, count, type, indices); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawElementsInstanced(GLenum mode, - GLsizei count, - GLenum type, - const void* indices, - GLsizei primcount) { - MakeFunctionUnique("glDrawElementsInstanced"); - interface_->DrawElementsInstancedANGLE(mode, count, type, indices, primcount); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawElementsInstancedANGLE(GLenum mode, - GLsizei count, - GLenum type, - const void* indices, - GLsizei primcount) { - MakeFunctionUnique("glDrawElementsInstancedANGLE"); - interface_->DrawElementsInstancedANGLE(mode, count, type, indices, primcount); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawElementsInstancedARB(GLenum mode, - GLsizei count, - GLenum type, - const void* indices, - GLsizei primcount) { - MakeFunctionUnique("glDrawElementsInstancedARB"); - interface_->DrawElementsInstancedANGLE(mode, count, type, indices, primcount); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glDrawRangeElements(GLenum mode, - GLuint start, - GLuint end, - GLsizei count, - GLenum type, - const void* indices) { - MakeFunctionUnique("glDrawRangeElements"); - interface_->DrawRangeElements(mode, start, end, count, type, indices); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glEGLImageTargetRenderbufferStorageOES( - GLenum target, - GLeglImageOES image) { - MakeFunctionUnique("glEGLImageTargetRenderbufferStorageOES"); - interface_->EGLImageTargetRenderbufferStorageOES(target, image); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glEGLImageTargetTexture2DOES(GLenum target, - GLeglImageOES image) { - MakeFunctionUnique("glEGLImageTargetTexture2DOES"); - interface_->EGLImageTargetTexture2DOES(target, image); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glEnable(GLenum cap) { - MakeFunctionUnique("glEnable"); - interface_->Enable(cap); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glEnableVertexAttribArray(GLuint index) { - MakeFunctionUnique("glEnableVertexAttribArray"); - interface_->EnableVertexAttribArray(index); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glEndQuery(GLenum target) { - MakeFunctionUnique("glEndQuery"); - interface_->EndQuery(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glEndQueryARB(GLenum target) { - MakeFunctionUnique("glEndQueryARB"); - interface_->EndQuery(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glEndQueryEXT(GLenum target) { - MakeFunctionUnique("glEndQueryEXT"); - interface_->EndQuery(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glEndTransformFeedback(void) { - MakeFunctionUnique("glEndTransformFeedback"); - interface_->EndTransformFeedback(); -} - -GLsync GL_BINDING_CALL MockGLInterface::Mock_glFenceSync(GLenum condition, - GLbitfield flags) { - MakeFunctionUnique("glFenceSync"); - return interface_->FenceSync(condition, flags); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glFinish(void) { - MakeFunctionUnique("glFinish"); - interface_->Finish(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glFinishFenceAPPLE(GLuint fence) { - MakeFunctionUnique("glFinishFenceAPPLE"); - interface_->FinishFenceAPPLE(fence); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glFinishFenceNV(GLuint fence) { - MakeFunctionUnique("glFinishFenceNV"); - interface_->FinishFenceNV(fence); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glFlush(void) { - MakeFunctionUnique("glFlush"); - interface_->Flush(); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFlushMappedBufferRange(GLenum target, - GLintptr offset, - GLsizeiptr length) { - MakeFunctionUnique("glFlushMappedBufferRange"); - interface_->FlushMappedBufferRange(target, offset, length); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferRenderbuffer(GLenum target, - GLenum attachment, - GLenum renderbuffertarget, - GLuint renderbuffer) { - MakeFunctionUnique("glFramebufferRenderbuffer"); - interface_->FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, - renderbuffer); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferRenderbufferEXT(GLenum target, - GLenum attachment, - GLenum renderbuffertarget, - GLuint renderbuffer) { - MakeFunctionUnique("glFramebufferRenderbufferEXT"); - interface_->FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, - renderbuffer); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferTexture2D(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level) { - MakeFunctionUnique("glFramebufferTexture2D"); - interface_->FramebufferTexture2DEXT(target, attachment, textarget, texture, - level); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferTexture2DEXT(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level) { - MakeFunctionUnique("glFramebufferTexture2DEXT"); - interface_->FramebufferTexture2DEXT(target, attachment, textarget, texture, - level); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferTexture2DMultisampleEXT(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level, - GLsizei samples) { - MakeFunctionUnique("glFramebufferTexture2DMultisampleEXT"); - interface_->FramebufferTexture2DMultisampleEXT(target, attachment, textarget, - texture, level, samples); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferTexture2DMultisampleIMG(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level, - GLsizei samples) { - MakeFunctionUnique("glFramebufferTexture2DMultisampleIMG"); - interface_->FramebufferTexture2DMultisampleIMG(target, attachment, textarget, - texture, level, samples); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glFramebufferTextureLayer(GLenum target, - GLenum attachment, - GLuint texture, - GLint level, - GLint layer) { - MakeFunctionUnique("glFramebufferTextureLayer"); - interface_->FramebufferTextureLayer(target, attachment, texture, level, - layer); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glFrontFace(GLenum mode) { - MakeFunctionUnique("glFrontFace"); - interface_->FrontFace(mode); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenBuffers(GLsizei n, - GLuint* buffers) { - MakeFunctionUnique("glGenBuffers"); - interface_->GenBuffersARB(n, buffers); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenFencesAPPLE(GLsizei n, - GLuint* fences) { - MakeFunctionUnique("glGenFencesAPPLE"); - interface_->GenFencesAPPLE(n, fences); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenFencesNV(GLsizei n, - GLuint* fences) { - MakeFunctionUnique("glGenFencesNV"); - interface_->GenFencesNV(n, fences); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenFramebuffers(GLsizei n, GLuint* framebuffers) { - MakeFunctionUnique("glGenFramebuffers"); - interface_->GenFramebuffersEXT(n, framebuffers); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenFramebuffersEXT(GLsizei n, GLuint* framebuffers) { - MakeFunctionUnique("glGenFramebuffersEXT"); - interface_->GenFramebuffersEXT(n, framebuffers); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenQueries(GLsizei n, - GLuint* ids) { - MakeFunctionUnique("glGenQueries"); - interface_->GenQueries(n, ids); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenQueriesARB(GLsizei n, - GLuint* ids) { - MakeFunctionUnique("glGenQueriesARB"); - interface_->GenQueries(n, ids); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenQueriesEXT(GLsizei n, - GLuint* ids) { - MakeFunctionUnique("glGenQueriesEXT"); - interface_->GenQueries(n, ids); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) { - MakeFunctionUnique("glGenRenderbuffers"); - interface_->GenRenderbuffersEXT(n, renderbuffers); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenRenderbuffersEXT(GLsizei n, GLuint* renderbuffers) { - MakeFunctionUnique("glGenRenderbuffersEXT"); - interface_->GenRenderbuffersEXT(n, renderbuffers); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenSamplers(GLsizei n, - GLuint* samplers) { - MakeFunctionUnique("glGenSamplers"); - interface_->GenSamplers(n, samplers); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenTextures(GLsizei n, - GLuint* textures) { - MakeFunctionUnique("glGenTextures"); - interface_->GenTextures(n, textures); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenTransformFeedbacks(GLsizei n, GLuint* ids) { - MakeFunctionUnique("glGenTransformFeedbacks"); - interface_->GenTransformFeedbacks(n, ids); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenVertexArrays(GLsizei n, - GLuint* arrays) { - MakeFunctionUnique("glGenVertexArrays"); - interface_->GenVertexArraysOES(n, arrays); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenVertexArraysAPPLE(GLsizei n, GLuint* arrays) { - MakeFunctionUnique("glGenVertexArraysAPPLE"); - interface_->GenVertexArraysOES(n, arrays); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGenVertexArraysOES(GLsizei n, GLuint* arrays) { - MakeFunctionUnique("glGenVertexArraysOES"); - interface_->GenVertexArraysOES(n, arrays); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenerateMipmap(GLenum target) { - MakeFunctionUnique("glGenerateMipmap"); - interface_->GenerateMipmapEXT(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGenerateMipmapEXT(GLenum target) { - MakeFunctionUnique("glGenerateMipmapEXT"); - interface_->GenerateMipmapEXT(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetActiveAttrib(GLuint program, - GLuint index, - GLsizei bufsize, - GLsizei* length, - GLint* size, - GLenum* type, - char* name) { - MakeFunctionUnique("glGetActiveAttrib"); - interface_->GetActiveAttrib(program, index, bufsize, length, size, type, - name); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetActiveUniform(GLuint program, - GLuint index, - GLsizei bufsize, - GLsizei* length, - GLint* size, - GLenum* type, - char* name) { - MakeFunctionUnique("glGetActiveUniform"); - interface_->GetActiveUniform(program, index, bufsize, length, size, type, - name); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetActiveUniformBlockName(GLuint program, - GLuint uniformBlockIndex, - GLsizei bufSize, - GLsizei* length, - char* uniformBlockName) { - MakeFunctionUnique("glGetActiveUniformBlockName"); - interface_->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, - length, uniformBlockName); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetActiveUniformBlockiv(GLuint program, - GLuint uniformBlockIndex, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetActiveUniformBlockiv"); - interface_->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, - params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetActiveUniformsiv(GLuint program, - GLsizei uniformCount, - const GLuint* uniformIndices, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetActiveUniformsiv"); - interface_->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, - params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetAttachedShaders(GLuint program, - GLsizei maxcount, - GLsizei* count, - GLuint* shaders) { - MakeFunctionUnique("glGetAttachedShaders"); - interface_->GetAttachedShaders(program, maxcount, count, shaders); -} - -GLint GL_BINDING_CALL -MockGLInterface::Mock_glGetAttribLocation(GLuint program, const char* name) { - MakeFunctionUnique("glGetAttribLocation"); - return interface_->GetAttribLocation(program, name); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetBooleanv(GLenum pname, - GLboolean* params) { - MakeFunctionUnique("glGetBooleanv"); - interface_->GetBooleanv(pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetBufferParameteriv(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetBufferParameteriv"); - interface_->GetBufferParameteriv(target, pname, params); -} - -GLuint GL_BINDING_CALL -MockGLInterface::Mock_glGetDebugMessageLogKHR(GLuint count, - GLsizei bufSize, - GLenum* sources, - GLenum* types, - GLuint* ids, - GLenum* severities, - GLsizei* lengths, - GLchar* messageLog) { - MakeFunctionUnique("glGetDebugMessageLogKHR"); - return interface_->GetDebugMessageLogKHR(count, bufSize, sources, types, ids, - severities, lengths, messageLog); -} - -GLenum GL_BINDING_CALL MockGLInterface::Mock_glGetError(void) { - MakeFunctionUnique("glGetError"); - return interface_->GetError(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetFenceivNV(GLuint fence, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetFenceivNV"); - interface_->GetFenceivNV(fence, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetFloatv(GLenum pname, - GLfloat* params) { - MakeFunctionUnique("glGetFloatv"); - interface_->GetFloatv(pname, params); -} - -GLint GL_BINDING_CALL -MockGLInterface::Mock_glGetFragDataLocation(GLuint program, const char* name) { - MakeFunctionUnique("glGetFragDataLocation"); - return interface_->GetFragDataLocation(program, name); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetFramebufferAttachmentParameteriv(GLenum target, - GLenum attachment, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetFramebufferAttachmentParameteriv"); - interface_->GetFramebufferAttachmentParameterivEXT(target, attachment, pname, - params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetFramebufferAttachmentParameterivEXT( - GLenum target, - GLenum attachment, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetFramebufferAttachmentParameterivEXT"); - interface_->GetFramebufferAttachmentParameterivEXT(target, attachment, pname, - params); -} - -GLenum GL_BINDING_CALL MockGLInterface::Mock_glGetGraphicsResetStatus(void) { - MakeFunctionUnique("glGetGraphicsResetStatus"); - return interface_->GetGraphicsResetStatusARB(); -} - -GLenum GL_BINDING_CALL MockGLInterface::Mock_glGetGraphicsResetStatusARB(void) { - MakeFunctionUnique("glGetGraphicsResetStatusARB"); - return interface_->GetGraphicsResetStatusARB(); -} - -GLenum GL_BINDING_CALL MockGLInterface::Mock_glGetGraphicsResetStatusEXT(void) { - MakeFunctionUnique("glGetGraphicsResetStatusEXT"); - return interface_->GetGraphicsResetStatusARB(); -} - -GLenum GL_BINDING_CALL MockGLInterface::Mock_glGetGraphicsResetStatusKHR(void) { - MakeFunctionUnique("glGetGraphicsResetStatusKHR"); - return interface_->GetGraphicsResetStatusARB(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetInteger64i_v(GLenum target, - GLuint index, - GLint64* data) { - MakeFunctionUnique("glGetInteger64i_v"); - interface_->GetInteger64i_v(target, index, data); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetInteger64v(GLenum pname, - GLint64* params) { - MakeFunctionUnique("glGetInteger64v"); - interface_->GetInteger64v(pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetIntegeri_v(GLenum target, - GLuint index, - GLint* data) { - MakeFunctionUnique("glGetIntegeri_v"); - interface_->GetIntegeri_v(target, index, data); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetIntegerv(GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetIntegerv"); - interface_->GetIntegerv(pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetInternalformativ(GLenum target, - GLenum internalformat, - GLenum pname, - GLsizei bufSize, - GLint* params) { - MakeFunctionUnique("glGetInternalformativ"); - interface_->GetInternalformativ(target, internalformat, pname, bufSize, - params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetProgramBinary(GLuint program, - GLsizei bufSize, - GLsizei* length, - GLenum* binaryFormat, - GLvoid* binary) { - MakeFunctionUnique("glGetProgramBinary"); - interface_->GetProgramBinary(program, bufSize, length, binaryFormat, binary); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetProgramBinaryOES(GLuint program, - GLsizei bufSize, - GLsizei* length, - GLenum* binaryFormat, - GLvoid* binary) { - MakeFunctionUnique("glGetProgramBinaryOES"); - interface_->GetProgramBinary(program, bufSize, length, binaryFormat, binary); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetProgramInfoLog(GLuint program, - GLsizei bufsize, - GLsizei* length, - char* infolog) { - MakeFunctionUnique("glGetProgramInfoLog"); - interface_->GetProgramInfoLog(program, bufsize, length, infolog); -} - -GLint GL_BINDING_CALL -MockGLInterface::Mock_glGetProgramResourceLocation(GLuint program, - GLenum programInterface, - const char* name) { - MakeFunctionUnique("glGetProgramResourceLocation"); - return interface_->GetProgramResourceLocation(program, programInterface, - name); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetProgramiv(GLuint program, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetProgramiv"); - interface_->GetProgramiv(program, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjecti64v(GLuint id, - GLenum pname, - GLint64* params) { - MakeFunctionUnique("glGetQueryObjecti64v"); - interface_->GetQueryObjecti64v(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjecti64vEXT(GLuint id, - GLenum pname, - GLint64* params) { - MakeFunctionUnique("glGetQueryObjecti64vEXT"); - interface_->GetQueryObjecti64v(id, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetQueryObjectiv(GLuint id, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetQueryObjectiv"); - interface_->GetQueryObjectiv(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjectivARB(GLuint id, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetQueryObjectivARB"); - interface_->GetQueryObjectiv(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjectivEXT(GLuint id, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetQueryObjectivEXT"); - interface_->GetQueryObjectiv(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjectui64v(GLuint id, - GLenum pname, - GLuint64* params) { - MakeFunctionUnique("glGetQueryObjectui64v"); - interface_->GetQueryObjectui64v(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjectui64vEXT(GLuint id, - GLenum pname, - GLuint64* params) { - MakeFunctionUnique("glGetQueryObjectui64vEXT"); - interface_->GetQueryObjectui64v(id, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetQueryObjectuiv(GLuint id, - GLenum pname, - GLuint* params) { - MakeFunctionUnique("glGetQueryObjectuiv"); - interface_->GetQueryObjectuiv(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjectuivARB(GLuint id, - GLenum pname, - GLuint* params) { - MakeFunctionUnique("glGetQueryObjectuivARB"); - interface_->GetQueryObjectuiv(id, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetQueryObjectuivEXT(GLuint id, - GLenum pname, - GLuint* params) { - MakeFunctionUnique("glGetQueryObjectuivEXT"); - interface_->GetQueryObjectuiv(id, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetQueryiv(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetQueryiv"); - interface_->GetQueryiv(target, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetQueryivARB(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetQueryivARB"); - interface_->GetQueryiv(target, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetQueryivEXT(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetQueryivEXT"); - interface_->GetQueryiv(target, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetRenderbufferParameteriv(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetRenderbufferParameteriv"); - interface_->GetRenderbufferParameterivEXT(target, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetRenderbufferParameterivEXT(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetRenderbufferParameterivEXT"); - interface_->GetRenderbufferParameterivEXT(target, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetSamplerParameterfv(GLuint sampler, - GLenum pname, - GLfloat* params) { - MakeFunctionUnique("glGetSamplerParameterfv"); - interface_->GetSamplerParameterfv(sampler, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetSamplerParameteriv(GLuint sampler, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetSamplerParameteriv"); - interface_->GetSamplerParameteriv(sampler, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetShaderInfoLog(GLuint shader, - GLsizei bufsize, - GLsizei* length, - char* infolog) { - MakeFunctionUnique("glGetShaderInfoLog"); - interface_->GetShaderInfoLog(shader, bufsize, length, infolog); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetShaderPrecisionFormat(GLenum shadertype, - GLenum precisiontype, - GLint* range, - GLint* precision) { - MakeFunctionUnique("glGetShaderPrecisionFormat"); - interface_->GetShaderPrecisionFormat(shadertype, precisiontype, range, - precision); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetShaderSource(GLuint shader, - GLsizei bufsize, - GLsizei* length, - char* source) { - MakeFunctionUnique("glGetShaderSource"); - interface_->GetShaderSource(shader, bufsize, length, source); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetShaderiv(GLuint shader, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetShaderiv"); - interface_->GetShaderiv(shader, pname, params); -} - -const GLubyte* GL_BINDING_CALL MockGLInterface::Mock_glGetString(GLenum name) { - MakeFunctionUnique("glGetString"); - return interface_->GetString(name); -} - -const GLubyte* GL_BINDING_CALL -MockGLInterface::Mock_glGetStringi(GLenum name, GLuint index) { - MakeFunctionUnique("glGetStringi"); - return interface_->GetStringi(name, index); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetSynciv(GLsync sync, - GLenum pname, - GLsizei bufSize, - GLsizei* length, - GLint* values) { - MakeFunctionUnique("glGetSynciv"); - interface_->GetSynciv(sync, pname, bufSize, length, values); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetTexLevelParameterfv(GLenum target, - GLint level, - GLenum pname, - GLfloat* params) { - MakeFunctionUnique("glGetTexLevelParameterfv"); - interface_->GetTexLevelParameterfv(target, level, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetTexLevelParameteriv(GLenum target, - GLint level, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetTexLevelParameteriv"); - interface_->GetTexLevelParameteriv(target, level, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetTexParameterfv(GLenum target, - GLenum pname, - GLfloat* params) { - MakeFunctionUnique("glGetTexParameterfv"); - interface_->GetTexParameterfv(target, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetTexParameteriv(GLenum target, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetTexParameteriv"); - interface_->GetTexParameteriv(target, pname, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetTransformFeedbackVarying(GLuint program, - GLuint index, - GLsizei bufSize, - GLsizei* length, - GLsizei* size, - GLenum* type, - char* name) { - MakeFunctionUnique("glGetTransformFeedbackVarying"); - interface_->GetTransformFeedbackVarying(program, index, bufSize, length, size, - type, name); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetTranslatedShaderSourceANGLE(GLuint shader, - GLsizei bufsize, - GLsizei* length, - char* source) { - MakeFunctionUnique("glGetTranslatedShaderSourceANGLE"); - interface_->GetTranslatedShaderSourceANGLE(shader, bufsize, length, source); -} - -GLuint GL_BINDING_CALL -MockGLInterface::Mock_glGetUniformBlockIndex(GLuint program, - const char* uniformBlockName) { - MakeFunctionUnique("glGetUniformBlockIndex"); - return interface_->GetUniformBlockIndex(program, uniformBlockName); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetUniformIndices(GLuint program, - GLsizei uniformCount, - const char* const* uniformNames, - GLuint* uniformIndices) { - MakeFunctionUnique("glGetUniformIndices"); - interface_->GetUniformIndices(program, uniformCount, uniformNames, - uniformIndices); -} - -GLint GL_BINDING_CALL -MockGLInterface::Mock_glGetUniformLocation(GLuint program, const char* name) { - MakeFunctionUnique("glGetUniformLocation"); - return interface_->GetUniformLocation(program, name); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetUniformfv(GLuint program, - GLint location, - GLfloat* params) { - MakeFunctionUnique("glGetUniformfv"); - interface_->GetUniformfv(program, location, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetUniformiv(GLuint program, - GLint location, - GLint* params) { - MakeFunctionUnique("glGetUniformiv"); - interface_->GetUniformiv(program, location, params); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetVertexAttribPointerv(GLuint index, - GLenum pname, - void** pointer) { - MakeFunctionUnique("glGetVertexAttribPointerv"); - interface_->GetVertexAttribPointerv(index, pname, pointer); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glGetVertexAttribfv(GLuint index, - GLenum pname, - GLfloat* params) { - MakeFunctionUnique("glGetVertexAttribfv"); - interface_->GetVertexAttribfv(index, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glGetVertexAttribiv(GLuint index, - GLenum pname, - GLint* params) { - MakeFunctionUnique("glGetVertexAttribiv"); - interface_->GetVertexAttribiv(index, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glHint(GLenum target, GLenum mode) { - MakeFunctionUnique("glHint"); - interface_->Hint(target, mode); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glInsertEventMarkerEXT(GLsizei length, - const char* marker) { - MakeFunctionUnique("glInsertEventMarkerEXT"); - interface_->InsertEventMarkerEXT(length, marker); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glInvalidateFramebuffer(GLenum target, - GLsizei numAttachments, - const GLenum* attachments) { - MakeFunctionUnique("glInvalidateFramebuffer"); - interface_->InvalidateFramebuffer(target, numAttachments, attachments); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glInvalidateSubFramebuffer(GLenum target, - GLsizei numAttachments, - const GLenum* attachments, - GLint x, - GLint y, - GLint width, - GLint height) { - MakeFunctionUnique("glInvalidateSubFramebuffer"); - interface_->InvalidateSubFramebuffer(target, numAttachments, attachments, x, - y, width, height); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsBuffer(GLuint buffer) { - MakeFunctionUnique("glIsBuffer"); - return interface_->IsBuffer(buffer); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsEnabled(GLenum cap) { - MakeFunctionUnique("glIsEnabled"); - return interface_->IsEnabled(cap); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsFenceAPPLE(GLuint fence) { - MakeFunctionUnique("glIsFenceAPPLE"); - return interface_->IsFenceAPPLE(fence); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsFenceNV(GLuint fence) { - MakeFunctionUnique("glIsFenceNV"); - return interface_->IsFenceNV(fence); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsFramebuffer(GLuint framebuffer) { - MakeFunctionUnique("glIsFramebuffer"); - return interface_->IsFramebufferEXT(framebuffer); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsFramebufferEXT(GLuint framebuffer) { - MakeFunctionUnique("glIsFramebufferEXT"); - return interface_->IsFramebufferEXT(framebuffer); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsProgram(GLuint program) { - MakeFunctionUnique("glIsProgram"); - return interface_->IsProgram(program); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsQuery(GLuint query) { - MakeFunctionUnique("glIsQuery"); - return interface_->IsQuery(query); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsQueryARB(GLuint query) { - MakeFunctionUnique("glIsQueryARB"); - return interface_->IsQuery(query); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsQueryEXT(GLuint query) { - MakeFunctionUnique("glIsQueryEXT"); - return interface_->IsQuery(query); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsRenderbuffer(GLuint renderbuffer) { - MakeFunctionUnique("glIsRenderbuffer"); - return interface_->IsRenderbufferEXT(renderbuffer); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsRenderbufferEXT(GLuint renderbuffer) { - MakeFunctionUnique("glIsRenderbufferEXT"); - return interface_->IsRenderbufferEXT(renderbuffer); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsSampler(GLuint sampler) { - MakeFunctionUnique("glIsSampler"); - return interface_->IsSampler(sampler); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsShader(GLuint shader) { - MakeFunctionUnique("glIsShader"); - return interface_->IsShader(shader); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsSync(GLsync sync) { - MakeFunctionUnique("glIsSync"); - return interface_->IsSync(sync); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsTexture(GLuint texture) { - MakeFunctionUnique("glIsTexture"); - return interface_->IsTexture(texture); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsTransformFeedback(GLuint id) { - MakeFunctionUnique("glIsTransformFeedback"); - return interface_->IsTransformFeedback(id); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glIsVertexArray(GLuint array) { - MakeFunctionUnique("glIsVertexArray"); - return interface_->IsVertexArrayOES(array); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsVertexArrayAPPLE(GLuint array) { - MakeFunctionUnique("glIsVertexArrayAPPLE"); - return interface_->IsVertexArrayOES(array); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glIsVertexArrayOES(GLuint array) { - MakeFunctionUnique("glIsVertexArrayOES"); - return interface_->IsVertexArrayOES(array); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glLineWidth(GLfloat width) { - MakeFunctionUnique("glLineWidth"); - interface_->LineWidth(width); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glLinkProgram(GLuint program) { - MakeFunctionUnique("glLinkProgram"); - interface_->LinkProgram(program); -} - -void* GL_BINDING_CALL MockGLInterface::Mock_glMapBuffer(GLenum target, - GLenum access) { - MakeFunctionUnique("glMapBuffer"); - return interface_->MapBuffer(target, access); -} - -void* GL_BINDING_CALL MockGLInterface::Mock_glMapBufferOES(GLenum target, - GLenum access) { - MakeFunctionUnique("glMapBufferOES"); - return interface_->MapBuffer(target, access); -} - -void* GL_BINDING_CALL -MockGLInterface::Mock_glMapBufferRange(GLenum target, - GLintptr offset, - GLsizeiptr length, - GLbitfield access) { - MakeFunctionUnique("glMapBufferRange"); - return interface_->MapBufferRange(target, offset, length, access); -} - -void* GL_BINDING_CALL -MockGLInterface::Mock_glMapBufferRangeEXT(GLenum target, - GLintptr offset, - GLsizeiptr length, - GLbitfield access) { - MakeFunctionUnique("glMapBufferRangeEXT"); - return interface_->MapBufferRange(target, offset, length, access); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glMatrixLoadIdentityEXT(GLenum matrixMode) { - MakeFunctionUnique("glMatrixLoadIdentityEXT"); - interface_->MatrixLoadIdentityEXT(matrixMode); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glMatrixLoadfEXT(GLenum matrixMode, - const GLfloat* m) { - MakeFunctionUnique("glMatrixLoadfEXT"); - interface_->MatrixLoadfEXT(matrixMode, m); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glObjectLabelKHR(GLenum identifier, - GLuint name, - GLsizei length, - const GLchar* label) { - MakeFunctionUnique("glObjectLabelKHR"); - interface_->ObjectLabelKHR(identifier, name, length, label); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glPauseTransformFeedback(void) { - MakeFunctionUnique("glPauseTransformFeedback"); - interface_->PauseTransformFeedback(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glPixelStorei(GLenum pname, - GLint param) { - MakeFunctionUnique("glPixelStorei"); - interface_->PixelStorei(pname, param); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glPointParameteri(GLenum pname, - GLint param) { - MakeFunctionUnique("glPointParameteri"); - interface_->PointParameteri(pname, param); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glPolygonOffset(GLfloat factor, - GLfloat units) { - MakeFunctionUnique("glPolygonOffset"); - interface_->PolygonOffset(factor, units); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glPopDebugGroupKHR(void) { - MakeFunctionUnique("glPopDebugGroupKHR"); - interface_->PopDebugGroupKHR(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glPopGroupMarkerEXT(void) { - MakeFunctionUnique("glPopGroupMarkerEXT"); - interface_->PopGroupMarkerEXT(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glProgramBinary(GLuint program, - GLenum binaryFormat, - const GLvoid* binary, - GLsizei length) { - MakeFunctionUnique("glProgramBinary"); - interface_->ProgramBinary(program, binaryFormat, binary, length); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glProgramBinaryOES(GLuint program, - GLenum binaryFormat, - const GLvoid* binary, - GLsizei length) { - MakeFunctionUnique("glProgramBinaryOES"); - interface_->ProgramBinary(program, binaryFormat, binary, length); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glProgramParameteri(GLuint program, - GLenum pname, - GLint value) { - MakeFunctionUnique("glProgramParameteri"); - interface_->ProgramParameteri(program, pname, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glPushDebugGroupKHR(GLenum source, - GLuint id, - GLsizei length, - const GLchar* message) { - MakeFunctionUnique("glPushDebugGroupKHR"); - interface_->PushDebugGroupKHR(source, id, length, message); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glPushGroupMarkerEXT(GLsizei length, const char* marker) { - MakeFunctionUnique("glPushGroupMarkerEXT"); - interface_->PushGroupMarkerEXT(length, marker); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glQueryCounter(GLuint id, - GLenum target) { - MakeFunctionUnique("glQueryCounter"); - interface_->QueryCounter(id, target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glQueryCounterEXT(GLuint id, - GLenum target) { - MakeFunctionUnique("glQueryCounterEXT"); - interface_->QueryCounter(id, target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glReadBuffer(GLenum src) { - MakeFunctionUnique("glReadBuffer"); - interface_->ReadBuffer(src); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glReadPixels(GLint x, - GLint y, - GLsizei width, - GLsizei height, - GLenum format, - GLenum type, - void* pixels) { - MakeFunctionUnique("glReadPixels"); - interface_->ReadPixels(x, y, width, height, format, type, pixels); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glReleaseShaderCompiler(void) { - MakeFunctionUnique("glReleaseShaderCompiler"); - interface_->ReleaseShaderCompiler(); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorage(GLenum target, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorage"); - interface_->RenderbufferStorageEXT(target, internalformat, width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorageEXT(GLenum target, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorageEXT"); - interface_->RenderbufferStorageEXT(target, internalformat, width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorageMultisample(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorageMultisample"); - interface_->RenderbufferStorageMultisample(target, samples, internalformat, - width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorageMultisampleANGLE( - GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorageMultisampleANGLE"); - interface_->RenderbufferStorageMultisampleANGLE( - target, samples, internalformat, width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorageMultisampleAPPLE( - GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorageMultisampleAPPLE"); - interface_->RenderbufferStorageMultisampleAPPLE( - target, samples, internalformat, width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorageMultisampleEXT(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorageMultisampleEXT"); - interface_->RenderbufferStorageMultisampleEXT(target, samples, internalformat, - width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glRenderbufferStorageMultisampleIMG(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glRenderbufferStorageMultisampleIMG"); - interface_->RenderbufferStorageMultisampleIMG(target, samples, internalformat, - width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glResolveMultisampleFramebufferAPPLE(void) { - MakeFunctionUnique("glResolveMultisampleFramebufferAPPLE"); - interface_->ResolveMultisampleFramebufferAPPLE(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glResumeTransformFeedback(void) { - MakeFunctionUnique("glResumeTransformFeedback"); - interface_->ResumeTransformFeedback(); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glSampleCoverage(GLclampf value, - GLboolean invert) { - MakeFunctionUnique("glSampleCoverage"); - interface_->SampleCoverage(value, invert); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glSamplerParameterf(GLuint sampler, - GLenum pname, - GLfloat param) { - MakeFunctionUnique("glSamplerParameterf"); - interface_->SamplerParameterf(sampler, pname, param); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glSamplerParameterfv(GLuint sampler, - GLenum pname, - const GLfloat* params) { - MakeFunctionUnique("glSamplerParameterfv"); - interface_->SamplerParameterfv(sampler, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glSamplerParameteri(GLuint sampler, - GLenum pname, - GLint param) { - MakeFunctionUnique("glSamplerParameteri"); - interface_->SamplerParameteri(sampler, pname, param); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glSamplerParameteriv(GLuint sampler, - GLenum pname, - const GLint* params) { - MakeFunctionUnique("glSamplerParameteriv"); - interface_->SamplerParameteriv(sampler, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glScissor(GLint x, - GLint y, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glScissor"); - interface_->Scissor(x, y, width, height); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glSetFenceAPPLE(GLuint fence) { - MakeFunctionUnique("glSetFenceAPPLE"); - interface_->SetFenceAPPLE(fence); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glSetFenceNV(GLuint fence, - GLenum condition) { - MakeFunctionUnique("glSetFenceNV"); - interface_->SetFenceNV(fence, condition); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glShaderBinary(GLsizei n, - const GLuint* shaders, - GLenum binaryformat, - const void* binary, - GLsizei length) { - MakeFunctionUnique("glShaderBinary"); - interface_->ShaderBinary(n, shaders, binaryformat, binary, length); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glShaderSource(GLuint shader, - GLsizei count, - const char* const* str, - const GLint* length) { - MakeFunctionUnique("glShaderSource"); - interface_->ShaderSource(shader, count, str, length); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glStencilFunc(GLenum func, - GLint ref, - GLuint mask) { - MakeFunctionUnique("glStencilFunc"); - interface_->StencilFunc(func, ref, mask); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glStencilFuncSeparate(GLenum face, - GLenum func, - GLint ref, - GLuint mask) { - MakeFunctionUnique("glStencilFuncSeparate"); - interface_->StencilFuncSeparate(face, func, ref, mask); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glStencilMask(GLuint mask) { - MakeFunctionUnique("glStencilMask"); - interface_->StencilMask(mask); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glStencilMaskSeparate(GLenum face, - GLuint mask) { - MakeFunctionUnique("glStencilMaskSeparate"); - interface_->StencilMaskSeparate(face, mask); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glStencilOp(GLenum fail, - GLenum zfail, - GLenum zpass) { - MakeFunctionUnique("glStencilOp"); - interface_->StencilOp(fail, zfail, zpass); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glStencilOpSeparate(GLenum face, - GLenum fail, - GLenum zfail, - GLenum zpass) { - MakeFunctionUnique("glStencilOpSeparate"); - interface_->StencilOpSeparate(face, fail, zfail, zpass); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glTestFenceAPPLE(GLuint fence) { - MakeFunctionUnique("glTestFenceAPPLE"); - return interface_->TestFenceAPPLE(fence); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glTestFenceNV(GLuint fence) { - MakeFunctionUnique("glTestFenceNV"); - return interface_->TestFenceNV(fence); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexImage2D(GLenum target, - GLint level, - GLint internalformat, - GLsizei width, - GLsizei height, - GLint border, - GLenum format, - GLenum type, - const void* pixels) { - MakeFunctionUnique("glTexImage2D"); - interface_->TexImage2D(target, level, internalformat, width, height, border, - format, type, pixels); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexImage3D(GLenum target, - GLint level, - GLint internalformat, - GLsizei width, - GLsizei height, - GLsizei depth, - GLint border, - GLenum format, - GLenum type, - const void* pixels) { - MakeFunctionUnique("glTexImage3D"); - interface_->TexImage3D(target, level, internalformat, width, height, depth, - border, format, type, pixels); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexParameterf(GLenum target, - GLenum pname, - GLfloat param) { - MakeFunctionUnique("glTexParameterf"); - interface_->TexParameterf(target, pname, param); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glTexParameterfv(GLenum target, - GLenum pname, - const GLfloat* params) { - MakeFunctionUnique("glTexParameterfv"); - interface_->TexParameterfv(target, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexParameteri(GLenum target, - GLenum pname, - GLint param) { - MakeFunctionUnique("glTexParameteri"); - interface_->TexParameteri(target, pname, param); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glTexParameteriv(GLenum target, - GLenum pname, - const GLint* params) { - MakeFunctionUnique("glTexParameteriv"); - interface_->TexParameteriv(target, pname, params); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexStorage2D(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glTexStorage2D"); - interface_->TexStorage2DEXT(target, levels, internalformat, width, height); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glTexStorage2DEXT(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glTexStorage2DEXT"); - interface_->TexStorage2DEXT(target, levels, internalformat, width, height); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexStorage3D(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height, - GLsizei depth) { - MakeFunctionUnique("glTexStorage3D"); - interface_->TexStorage3D(target, levels, internalformat, width, height, - depth); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTexSubImage2D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLsizei width, - GLsizei height, - GLenum format, - GLenum type, - const void* pixels) { - MakeFunctionUnique("glTexSubImage2D"); - interface_->TexSubImage2D(target, level, xoffset, yoffset, width, height, - format, type, pixels); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glTextureBarrierNV(void) { - MakeFunctionUnique("glTextureBarrierNV"); - interface_->TextureBarrierNV(); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glTransformFeedbackVaryings(GLuint program, - GLsizei count, - const char* const* varyings, - GLenum bufferMode) { - MakeFunctionUnique("glTransformFeedbackVaryings"); - interface_->TransformFeedbackVaryings(program, count, varyings, bufferMode); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform1f(GLint location, - GLfloat x) { - MakeFunctionUnique("glUniform1f"); - interface_->Uniform1f(location, x); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform1fv(GLint location, - GLsizei count, - const GLfloat* v) { - MakeFunctionUnique("glUniform1fv"); - interface_->Uniform1fv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform1i(GLint location, - GLint x) { - MakeFunctionUnique("glUniform1i"); - interface_->Uniform1i(location, x); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform1iv(GLint location, - GLsizei count, - const GLint* v) { - MakeFunctionUnique("glUniform1iv"); - interface_->Uniform1iv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform1ui(GLint location, - GLuint v0) { - MakeFunctionUnique("glUniform1ui"); - interface_->Uniform1ui(location, v0); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform1uiv(GLint location, - GLsizei count, - const GLuint* v) { - MakeFunctionUnique("glUniform1uiv"); - interface_->Uniform1uiv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform2f(GLint location, - GLfloat x, - GLfloat y) { - MakeFunctionUnique("glUniform2f"); - interface_->Uniform2f(location, x, y); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform2fv(GLint location, - GLsizei count, - const GLfloat* v) { - MakeFunctionUnique("glUniform2fv"); - interface_->Uniform2fv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform2i(GLint location, - GLint x, - GLint y) { - MakeFunctionUnique("glUniform2i"); - interface_->Uniform2i(location, x, y); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform2iv(GLint location, - GLsizei count, - const GLint* v) { - MakeFunctionUnique("glUniform2iv"); - interface_->Uniform2iv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform2ui(GLint location, - GLuint v0, - GLuint v1) { - MakeFunctionUnique("glUniform2ui"); - interface_->Uniform2ui(location, v0, v1); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform2uiv(GLint location, - GLsizei count, - const GLuint* v) { - MakeFunctionUnique("glUniform2uiv"); - interface_->Uniform2uiv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform3f(GLint location, - GLfloat x, - GLfloat y, - GLfloat z) { - MakeFunctionUnique("glUniform3f"); - interface_->Uniform3f(location, x, y, z); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform3fv(GLint location, - GLsizei count, - const GLfloat* v) { - MakeFunctionUnique("glUniform3fv"); - interface_->Uniform3fv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform3i(GLint location, - GLint x, - GLint y, - GLint z) { - MakeFunctionUnique("glUniform3i"); - interface_->Uniform3i(location, x, y, z); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform3iv(GLint location, - GLsizei count, - const GLint* v) { - MakeFunctionUnique("glUniform3iv"); - interface_->Uniform3iv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform3ui(GLint location, - GLuint v0, - GLuint v1, - GLuint v2) { - MakeFunctionUnique("glUniform3ui"); - interface_->Uniform3ui(location, v0, v1, v2); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform3uiv(GLint location, - GLsizei count, - const GLuint* v) { - MakeFunctionUnique("glUniform3uiv"); - interface_->Uniform3uiv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform4f(GLint location, - GLfloat x, - GLfloat y, - GLfloat z, - GLfloat w) { - MakeFunctionUnique("glUniform4f"); - interface_->Uniform4f(location, x, y, z, w); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform4fv(GLint location, - GLsizei count, - const GLfloat* v) { - MakeFunctionUnique("glUniform4fv"); - interface_->Uniform4fv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform4i(GLint location, - GLint x, - GLint y, - GLint z, - GLint w) { - MakeFunctionUnique("glUniform4i"); - interface_->Uniform4i(location, x, y, z, w); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform4iv(GLint location, - GLsizei count, - const GLint* v) { - MakeFunctionUnique("glUniform4iv"); - interface_->Uniform4iv(location, count, v); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform4ui(GLint location, - GLuint v0, - GLuint v1, - GLuint v2, - GLuint v3) { - MakeFunctionUnique("glUniform4ui"); - interface_->Uniform4ui(location, v0, v1, v2, v3); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUniform4uiv(GLint location, - GLsizei count, - const GLuint* v) { - MakeFunctionUnique("glUniform4uiv"); - interface_->Uniform4uiv(location, count, v); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformBlockBinding(GLuint program, - GLuint uniformBlockIndex, - GLuint uniformBlockBinding) { - MakeFunctionUnique("glUniformBlockBinding"); - interface_->UniformBlockBinding(program, uniformBlockIndex, - uniformBlockBinding); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix2fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix2fv"); - interface_->UniformMatrix2fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix2x3fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix2x3fv"); - interface_->UniformMatrix2x3fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix2x4fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix2x4fv"); - interface_->UniformMatrix2x4fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix3fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix3fv"); - interface_->UniformMatrix3fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix3x2fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix3x2fv"); - interface_->UniformMatrix3x2fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix3x4fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix3x4fv"); - interface_->UniformMatrix3x4fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix4fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix4fv"); - interface_->UniformMatrix4fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix4x2fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix4x2fv"); - interface_->UniformMatrix4x2fv(location, count, transpose, value); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glUniformMatrix4x3fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value) { - MakeFunctionUnique("glUniformMatrix4x3fv"); - interface_->UniformMatrix4x3fv(location, count, transpose, value); -} - -GLboolean GL_BINDING_CALL MockGLInterface::Mock_glUnmapBuffer(GLenum target) { - MakeFunctionUnique("glUnmapBuffer"); - return interface_->UnmapBuffer(target); -} - -GLboolean GL_BINDING_CALL -MockGLInterface::Mock_glUnmapBufferOES(GLenum target) { - MakeFunctionUnique("glUnmapBufferOES"); - return interface_->UnmapBuffer(target); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glUseProgram(GLuint program) { - MakeFunctionUnique("glUseProgram"); - interface_->UseProgram(program); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glValidateProgram(GLuint program) { - MakeFunctionUnique("glValidateProgram"); - interface_->ValidateProgram(program); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glVertexAttrib1f(GLuint indx, - GLfloat x) { - MakeFunctionUnique("glVertexAttrib1f"); - interface_->VertexAttrib1f(indx, x); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttrib1fv(GLuint indx, const GLfloat* values) { - MakeFunctionUnique("glVertexAttrib1fv"); - interface_->VertexAttrib1fv(indx, values); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glVertexAttrib2f(GLuint indx, - GLfloat x, - GLfloat y) { - MakeFunctionUnique("glVertexAttrib2f"); - interface_->VertexAttrib2f(indx, x, y); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttrib2fv(GLuint indx, const GLfloat* values) { - MakeFunctionUnique("glVertexAttrib2fv"); - interface_->VertexAttrib2fv(indx, values); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glVertexAttrib3f(GLuint indx, - GLfloat x, - GLfloat y, - GLfloat z) { - MakeFunctionUnique("glVertexAttrib3f"); - interface_->VertexAttrib3f(indx, x, y, z); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttrib3fv(GLuint indx, const GLfloat* values) { - MakeFunctionUnique("glVertexAttrib3fv"); - interface_->VertexAttrib3fv(indx, values); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glVertexAttrib4f(GLuint indx, - GLfloat x, - GLfloat y, - GLfloat z, - GLfloat w) { - MakeFunctionUnique("glVertexAttrib4f"); - interface_->VertexAttrib4f(indx, x, y, z, w); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttrib4fv(GLuint indx, const GLfloat* values) { - MakeFunctionUnique("glVertexAttrib4fv"); - interface_->VertexAttrib4fv(indx, values); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribDivisor(GLuint index, GLuint divisor) { - MakeFunctionUnique("glVertexAttribDivisor"); - interface_->VertexAttribDivisorANGLE(index, divisor); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { - MakeFunctionUnique("glVertexAttribDivisorANGLE"); - interface_->VertexAttribDivisorANGLE(index, divisor); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribDivisorARB(GLuint index, GLuint divisor) { - MakeFunctionUnique("glVertexAttribDivisorARB"); - interface_->VertexAttribDivisorANGLE(index, divisor); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glVertexAttribI4i(GLuint indx, - GLint x, - GLint y, - GLint z, - GLint w) { - MakeFunctionUnique("glVertexAttribI4i"); - interface_->VertexAttribI4i(indx, x, y, z, w); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribI4iv(GLuint indx, const GLint* values) { - MakeFunctionUnique("glVertexAttribI4iv"); - interface_->VertexAttribI4iv(indx, values); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glVertexAttribI4ui(GLuint indx, - GLuint x, - GLuint y, - GLuint z, - GLuint w) { - MakeFunctionUnique("glVertexAttribI4ui"); - interface_->VertexAttribI4ui(indx, x, y, z, w); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribI4uiv(GLuint indx, const GLuint* values) { - MakeFunctionUnique("glVertexAttribI4uiv"); - interface_->VertexAttribI4uiv(indx, values); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribIPointer(GLuint indx, - GLint size, - GLenum type, - GLsizei stride, - const void* ptr) { - MakeFunctionUnique("glVertexAttribIPointer"); - interface_->VertexAttribIPointer(indx, size, type, stride, ptr); -} - -void GL_BINDING_CALL -MockGLInterface::Mock_glVertexAttribPointer(GLuint indx, - GLint size, - GLenum type, - GLboolean normalized, - GLsizei stride, - const void* ptr) { - MakeFunctionUnique("glVertexAttribPointer"); - interface_->VertexAttribPointer(indx, size, type, normalized, stride, ptr); -} - -void GL_BINDING_CALL MockGLInterface::Mock_glViewport(GLint x, - GLint y, - GLsizei width, - GLsizei height) { - MakeFunctionUnique("glViewport"); - interface_->Viewport(x, y, width, height); -} - -GLenum GL_BINDING_CALL MockGLInterface::Mock_glWaitSync(GLsync sync, - GLbitfield flags, - GLuint64 timeout) { - MakeFunctionUnique("glWaitSync"); - return interface_->WaitSync(sync, flags, timeout); -} - -static void MockInvalidFunction() { - NOTREACHED(); -} - -void* GL_BINDING_CALL MockGLInterface::GetGLProcAddress(const char* name) { - if (strcmp(name, "glActiveTexture") == 0) - return reinterpret_cast(Mock_glActiveTexture); - if (strcmp(name, "glAttachShader") == 0) - return reinterpret_cast(Mock_glAttachShader); - if (strcmp(name, "glBeginQuery") == 0) - return reinterpret_cast(Mock_glBeginQuery); - if (strcmp(name, "glBeginQueryARB") == 0) - return reinterpret_cast(Mock_glBeginQueryARB); - if (strcmp(name, "glBeginQueryEXT") == 0) - return reinterpret_cast(Mock_glBeginQueryEXT); - if (strcmp(name, "glBeginTransformFeedback") == 0) - return reinterpret_cast(Mock_glBeginTransformFeedback); - if (strcmp(name, "glBindAttribLocation") == 0) - return reinterpret_cast(Mock_glBindAttribLocation); - if (strcmp(name, "glBindBuffer") == 0) - return reinterpret_cast(Mock_glBindBuffer); - if (strcmp(name, "glBindBufferBase") == 0) - return reinterpret_cast(Mock_glBindBufferBase); - if (strcmp(name, "glBindBufferRange") == 0) - return reinterpret_cast(Mock_glBindBufferRange); - if (strcmp(name, "glBindFragDataLocation") == 0) - return reinterpret_cast(Mock_glBindFragDataLocation); - if (strcmp(name, "glBindFragDataLocationIndexed") == 0) - return reinterpret_cast(Mock_glBindFragDataLocationIndexed); - if (strcmp(name, "glBindFramebuffer") == 0) - return reinterpret_cast(Mock_glBindFramebuffer); - if (strcmp(name, "glBindFramebufferEXT") == 0) - return reinterpret_cast(Mock_glBindFramebufferEXT); - if (strcmp(name, "glBindRenderbuffer") == 0) - return reinterpret_cast(Mock_glBindRenderbuffer); - if (strcmp(name, "glBindRenderbufferEXT") == 0) - return reinterpret_cast(Mock_glBindRenderbufferEXT); - if (strcmp(name, "glBindSampler") == 0) - return reinterpret_cast(Mock_glBindSampler); - if (strcmp(name, "glBindTexture") == 0) - return reinterpret_cast(Mock_glBindTexture); - if (strcmp(name, "glBindTransformFeedback") == 0) - return reinterpret_cast(Mock_glBindTransformFeedback); - if (strcmp(name, "glBindVertexArray") == 0) - return reinterpret_cast(Mock_glBindVertexArray); - if (strcmp(name, "glBindVertexArrayAPPLE") == 0) - return reinterpret_cast(Mock_glBindVertexArrayAPPLE); - if (strcmp(name, "glBindVertexArrayOES") == 0) - return reinterpret_cast(Mock_glBindVertexArrayOES); - if (strcmp(name, "glBlendBarrierKHR") == 0) - return reinterpret_cast(Mock_glBlendBarrierKHR); - if (strcmp(name, "glBlendBarrierNV") == 0) - return reinterpret_cast(Mock_glBlendBarrierNV); - if (strcmp(name, "glBlendColor") == 0) - return reinterpret_cast(Mock_glBlendColor); - if (strcmp(name, "glBlendEquation") == 0) - return reinterpret_cast(Mock_glBlendEquation); - if (strcmp(name, "glBlendEquationSeparate") == 0) - return reinterpret_cast(Mock_glBlendEquationSeparate); - if (strcmp(name, "glBlendFunc") == 0) - return reinterpret_cast(Mock_glBlendFunc); - if (strcmp(name, "glBlendFuncSeparate") == 0) - return reinterpret_cast(Mock_glBlendFuncSeparate); - if (strcmp(name, "glBlitFramebuffer") == 0) - return reinterpret_cast(Mock_glBlitFramebuffer); - if (strcmp(name, "glBlitFramebufferANGLE") == 0) - return reinterpret_cast(Mock_glBlitFramebufferANGLE); - if (strcmp(name, "glBlitFramebufferEXT") == 0) - return reinterpret_cast(Mock_glBlitFramebufferEXT); - if (strcmp(name, "glBufferData") == 0) - return reinterpret_cast(Mock_glBufferData); - if (strcmp(name, "glBufferSubData") == 0) - return reinterpret_cast(Mock_glBufferSubData); - if (strcmp(name, "glCheckFramebufferStatus") == 0) - return reinterpret_cast(Mock_glCheckFramebufferStatus); - if (strcmp(name, "glCheckFramebufferStatusEXT") == 0) - return reinterpret_cast(Mock_glCheckFramebufferStatusEXT); - if (strcmp(name, "glClear") == 0) - return reinterpret_cast(Mock_glClear); - if (strcmp(name, "glClearBufferfi") == 0) - return reinterpret_cast(Mock_glClearBufferfi); - if (strcmp(name, "glClearBufferfv") == 0) - return reinterpret_cast(Mock_glClearBufferfv); - if (strcmp(name, "glClearBufferiv") == 0) - return reinterpret_cast(Mock_glClearBufferiv); - if (strcmp(name, "glClearBufferuiv") == 0) - return reinterpret_cast(Mock_glClearBufferuiv); - if (strcmp(name, "glClearColor") == 0) - return reinterpret_cast(Mock_glClearColor); - if (strcmp(name, "glClearDepth") == 0) - return reinterpret_cast(Mock_glClearDepth); - if (strcmp(name, "glClearDepthf") == 0) - return reinterpret_cast(Mock_glClearDepthf); - if (strcmp(name, "glClearStencil") == 0) - return reinterpret_cast(Mock_glClearStencil); - if (strcmp(name, "glClientWaitSync") == 0) - return reinterpret_cast(Mock_glClientWaitSync); - if (strcmp(name, "glColorMask") == 0) - return reinterpret_cast(Mock_glColorMask); - if (strcmp(name, "glCompileShader") == 0) - return reinterpret_cast(Mock_glCompileShader); - if (strcmp(name, "glCompressedTexImage2D") == 0) - return reinterpret_cast(Mock_glCompressedTexImage2D); - if (strcmp(name, "glCompressedTexImage3D") == 0) - return reinterpret_cast(Mock_glCompressedTexImage3D); - if (strcmp(name, "glCompressedTexSubImage2D") == 0) - return reinterpret_cast(Mock_glCompressedTexSubImage2D); - if (strcmp(name, "glCopyBufferSubData") == 0) - return reinterpret_cast(Mock_glCopyBufferSubData); - if (strcmp(name, "glCopyTexImage2D") == 0) - return reinterpret_cast(Mock_glCopyTexImage2D); - if (strcmp(name, "glCopyTexSubImage2D") == 0) - return reinterpret_cast(Mock_glCopyTexSubImage2D); - if (strcmp(name, "glCopyTexSubImage3D") == 0) - return reinterpret_cast(Mock_glCopyTexSubImage3D); - if (strcmp(name, "glCreateProgram") == 0) - return reinterpret_cast(Mock_glCreateProgram); - if (strcmp(name, "glCreateShader") == 0) - return reinterpret_cast(Mock_glCreateShader); - if (strcmp(name, "glCullFace") == 0) - return reinterpret_cast(Mock_glCullFace); - if (strcmp(name, "glDebugMessageCallbackKHR") == 0) - return reinterpret_cast(Mock_glDebugMessageCallbackKHR); - if (strcmp(name, "glDebugMessageControlKHR") == 0) - return reinterpret_cast(Mock_glDebugMessageControlKHR); - if (strcmp(name, "glDebugMessageInsertKHR") == 0) - return reinterpret_cast(Mock_glDebugMessageInsertKHR); - if (strcmp(name, "glDeleteBuffers") == 0) - return reinterpret_cast(Mock_glDeleteBuffers); - if (strcmp(name, "glDeleteFencesAPPLE") == 0) - return reinterpret_cast(Mock_glDeleteFencesAPPLE); - if (strcmp(name, "glDeleteFencesNV") == 0) - return reinterpret_cast(Mock_glDeleteFencesNV); - if (strcmp(name, "glDeleteFramebuffers") == 0) - return reinterpret_cast(Mock_glDeleteFramebuffers); - if (strcmp(name, "glDeleteFramebuffersEXT") == 0) - return reinterpret_cast(Mock_glDeleteFramebuffersEXT); - if (strcmp(name, "glDeleteProgram") == 0) - return reinterpret_cast(Mock_glDeleteProgram); - if (strcmp(name, "glDeleteQueries") == 0) - return reinterpret_cast(Mock_glDeleteQueries); - if (strcmp(name, "glDeleteQueriesARB") == 0) - return reinterpret_cast(Mock_glDeleteQueriesARB); - if (strcmp(name, "glDeleteQueriesEXT") == 0) - return reinterpret_cast(Mock_glDeleteQueriesEXT); - if (strcmp(name, "glDeleteRenderbuffers") == 0) - return reinterpret_cast(Mock_glDeleteRenderbuffers); - if (strcmp(name, "glDeleteRenderbuffersEXT") == 0) - return reinterpret_cast(Mock_glDeleteRenderbuffersEXT); - if (strcmp(name, "glDeleteSamplers") == 0) - return reinterpret_cast(Mock_glDeleteSamplers); - if (strcmp(name, "glDeleteShader") == 0) - return reinterpret_cast(Mock_glDeleteShader); - if (strcmp(name, "glDeleteSync") == 0) - return reinterpret_cast(Mock_glDeleteSync); - if (strcmp(name, "glDeleteTextures") == 0) - return reinterpret_cast(Mock_glDeleteTextures); - if (strcmp(name, "glDeleteTransformFeedbacks") == 0) - return reinterpret_cast(Mock_glDeleteTransformFeedbacks); - if (strcmp(name, "glDeleteVertexArrays") == 0) - return reinterpret_cast(Mock_glDeleteVertexArrays); - if (strcmp(name, "glDeleteVertexArraysAPPLE") == 0) - return reinterpret_cast(Mock_glDeleteVertexArraysAPPLE); - if (strcmp(name, "glDeleteVertexArraysOES") == 0) - return reinterpret_cast(Mock_glDeleteVertexArraysOES); - if (strcmp(name, "glDepthFunc") == 0) - return reinterpret_cast(Mock_glDepthFunc); - if (strcmp(name, "glDepthMask") == 0) - return reinterpret_cast(Mock_glDepthMask); - if (strcmp(name, "glDepthRange") == 0) - return reinterpret_cast(Mock_glDepthRange); - if (strcmp(name, "glDepthRangef") == 0) - return reinterpret_cast(Mock_glDepthRangef); - if (strcmp(name, "glDetachShader") == 0) - return reinterpret_cast(Mock_glDetachShader); - if (strcmp(name, "glDisable") == 0) - return reinterpret_cast(Mock_glDisable); - if (strcmp(name, "glDisableVertexAttribArray") == 0) - return reinterpret_cast(Mock_glDisableVertexAttribArray); - if (strcmp(name, "glDiscardFramebufferEXT") == 0) - return reinterpret_cast(Mock_glDiscardFramebufferEXT); - if (strcmp(name, "glDrawArrays") == 0) - return reinterpret_cast(Mock_glDrawArrays); - if (strcmp(name, "glDrawArraysInstanced") == 0) - return reinterpret_cast(Mock_glDrawArraysInstanced); - if (strcmp(name, "glDrawArraysInstancedANGLE") == 0) - return reinterpret_cast(Mock_glDrawArraysInstancedANGLE); - if (strcmp(name, "glDrawArraysInstancedARB") == 0) - return reinterpret_cast(Mock_glDrawArraysInstancedARB); - if (strcmp(name, "glDrawBuffer") == 0) - return reinterpret_cast(Mock_glDrawBuffer); - if (strcmp(name, "glDrawBuffers") == 0) - return reinterpret_cast(Mock_glDrawBuffers); - if (strcmp(name, "glDrawBuffersARB") == 0) - return reinterpret_cast(Mock_glDrawBuffersARB); - if (strcmp(name, "glDrawBuffersEXT") == 0) - return reinterpret_cast(Mock_glDrawBuffersEXT); - if (strcmp(name, "glDrawElements") == 0) - return reinterpret_cast(Mock_glDrawElements); - if (strcmp(name, "glDrawElementsInstanced") == 0) - return reinterpret_cast(Mock_glDrawElementsInstanced); - if (strcmp(name, "glDrawElementsInstancedANGLE") == 0) - return reinterpret_cast(Mock_glDrawElementsInstancedANGLE); - if (strcmp(name, "glDrawElementsInstancedARB") == 0) - return reinterpret_cast(Mock_glDrawElementsInstancedARB); - if (strcmp(name, "glDrawRangeElements") == 0) - return reinterpret_cast(Mock_glDrawRangeElements); - if (strcmp(name, "glEGLImageTargetRenderbufferStorageOES") == 0) - return reinterpret_cast(Mock_glEGLImageTargetRenderbufferStorageOES); - if (strcmp(name, "glEGLImageTargetTexture2DOES") == 0) - return reinterpret_cast(Mock_glEGLImageTargetTexture2DOES); - if (strcmp(name, "glEnable") == 0) - return reinterpret_cast(Mock_glEnable); - if (strcmp(name, "glEnableVertexAttribArray") == 0) - return reinterpret_cast(Mock_glEnableVertexAttribArray); - if (strcmp(name, "glEndQuery") == 0) - return reinterpret_cast(Mock_glEndQuery); - if (strcmp(name, "glEndQueryARB") == 0) - return reinterpret_cast(Mock_glEndQueryARB); - if (strcmp(name, "glEndQueryEXT") == 0) - return reinterpret_cast(Mock_glEndQueryEXT); - if (strcmp(name, "glEndTransformFeedback") == 0) - return reinterpret_cast(Mock_glEndTransformFeedback); - if (strcmp(name, "glFenceSync") == 0) - return reinterpret_cast(Mock_glFenceSync); - if (strcmp(name, "glFinish") == 0) - return reinterpret_cast(Mock_glFinish); - if (strcmp(name, "glFinishFenceAPPLE") == 0) - return reinterpret_cast(Mock_glFinishFenceAPPLE); - if (strcmp(name, "glFinishFenceNV") == 0) - return reinterpret_cast(Mock_glFinishFenceNV); - if (strcmp(name, "glFlush") == 0) - return reinterpret_cast(Mock_glFlush); - if (strcmp(name, "glFlushMappedBufferRange") == 0) - return reinterpret_cast(Mock_glFlushMappedBufferRange); - if (strcmp(name, "glFramebufferRenderbuffer") == 0) - return reinterpret_cast(Mock_glFramebufferRenderbuffer); - if (strcmp(name, "glFramebufferRenderbufferEXT") == 0) - return reinterpret_cast(Mock_glFramebufferRenderbufferEXT); - if (strcmp(name, "glFramebufferTexture2D") == 0) - return reinterpret_cast(Mock_glFramebufferTexture2D); - if (strcmp(name, "glFramebufferTexture2DEXT") == 0) - return reinterpret_cast(Mock_glFramebufferTexture2DEXT); - if (strcmp(name, "glFramebufferTexture2DMultisampleEXT") == 0) - return reinterpret_cast(Mock_glFramebufferTexture2DMultisampleEXT); - if (strcmp(name, "glFramebufferTexture2DMultisampleIMG") == 0) - return reinterpret_cast(Mock_glFramebufferTexture2DMultisampleIMG); - if (strcmp(name, "glFramebufferTextureLayer") == 0) - return reinterpret_cast(Mock_glFramebufferTextureLayer); - if (strcmp(name, "glFrontFace") == 0) - return reinterpret_cast(Mock_glFrontFace); - if (strcmp(name, "glGenBuffers") == 0) - return reinterpret_cast(Mock_glGenBuffers); - if (strcmp(name, "glGenFencesAPPLE") == 0) - return reinterpret_cast(Mock_glGenFencesAPPLE); - if (strcmp(name, "glGenFencesNV") == 0) - return reinterpret_cast(Mock_glGenFencesNV); - if (strcmp(name, "glGenFramebuffers") == 0) - return reinterpret_cast(Mock_glGenFramebuffers); - if (strcmp(name, "glGenFramebuffersEXT") == 0) - return reinterpret_cast(Mock_glGenFramebuffersEXT); - if (strcmp(name, "glGenQueries") == 0) - return reinterpret_cast(Mock_glGenQueries); - if (strcmp(name, "glGenQueriesARB") == 0) - return reinterpret_cast(Mock_glGenQueriesARB); - if (strcmp(name, "glGenQueriesEXT") == 0) - return reinterpret_cast(Mock_glGenQueriesEXT); - if (strcmp(name, "glGenRenderbuffers") == 0) - return reinterpret_cast(Mock_glGenRenderbuffers); - if (strcmp(name, "glGenRenderbuffersEXT") == 0) - return reinterpret_cast(Mock_glGenRenderbuffersEXT); - if (strcmp(name, "glGenSamplers") == 0) - return reinterpret_cast(Mock_glGenSamplers); - if (strcmp(name, "glGenTextures") == 0) - return reinterpret_cast(Mock_glGenTextures); - if (strcmp(name, "glGenTransformFeedbacks") == 0) - return reinterpret_cast(Mock_glGenTransformFeedbacks); - if (strcmp(name, "glGenVertexArrays") == 0) - return reinterpret_cast(Mock_glGenVertexArrays); - if (strcmp(name, "glGenVertexArraysAPPLE") == 0) - return reinterpret_cast(Mock_glGenVertexArraysAPPLE); - if (strcmp(name, "glGenVertexArraysOES") == 0) - return reinterpret_cast(Mock_glGenVertexArraysOES); - if (strcmp(name, "glGenerateMipmap") == 0) - return reinterpret_cast(Mock_glGenerateMipmap); - if (strcmp(name, "glGenerateMipmapEXT") == 0) - return reinterpret_cast(Mock_glGenerateMipmapEXT); - if (strcmp(name, "glGetActiveAttrib") == 0) - return reinterpret_cast(Mock_glGetActiveAttrib); - if (strcmp(name, "glGetActiveUniform") == 0) - return reinterpret_cast(Mock_glGetActiveUniform); - if (strcmp(name, "glGetActiveUniformBlockName") == 0) - return reinterpret_cast(Mock_glGetActiveUniformBlockName); - if (strcmp(name, "glGetActiveUniformBlockiv") == 0) - return reinterpret_cast(Mock_glGetActiveUniformBlockiv); - if (strcmp(name, "glGetActiveUniformsiv") == 0) - return reinterpret_cast(Mock_glGetActiveUniformsiv); - if (strcmp(name, "glGetAttachedShaders") == 0) - return reinterpret_cast(Mock_glGetAttachedShaders); - if (strcmp(name, "glGetAttribLocation") == 0) - return reinterpret_cast(Mock_glGetAttribLocation); - if (strcmp(name, "glGetBooleanv") == 0) - return reinterpret_cast(Mock_glGetBooleanv); - if (strcmp(name, "glGetBufferParameteriv") == 0) - return reinterpret_cast(Mock_glGetBufferParameteriv); - if (strcmp(name, "glGetDebugMessageLogKHR") == 0) - return reinterpret_cast(Mock_glGetDebugMessageLogKHR); - if (strcmp(name, "glGetError") == 0) - return reinterpret_cast(Mock_glGetError); - if (strcmp(name, "glGetFenceivNV") == 0) - return reinterpret_cast(Mock_glGetFenceivNV); - if (strcmp(name, "glGetFloatv") == 0) - return reinterpret_cast(Mock_glGetFloatv); - if (strcmp(name, "glGetFragDataLocation") == 0) - return reinterpret_cast(Mock_glGetFragDataLocation); - if (strcmp(name, "glGetFramebufferAttachmentParameteriv") == 0) - return reinterpret_cast(Mock_glGetFramebufferAttachmentParameteriv); - if (strcmp(name, "glGetFramebufferAttachmentParameterivEXT") == 0) - return reinterpret_cast( - Mock_glGetFramebufferAttachmentParameterivEXT); - if (strcmp(name, "glGetGraphicsResetStatus") == 0) - return reinterpret_cast(Mock_glGetGraphicsResetStatus); - if (strcmp(name, "glGetGraphicsResetStatusARB") == 0) - return reinterpret_cast(Mock_glGetGraphicsResetStatusARB); - if (strcmp(name, "glGetGraphicsResetStatusEXT") == 0) - return reinterpret_cast(Mock_glGetGraphicsResetStatusEXT); - if (strcmp(name, "glGetGraphicsResetStatusKHR") == 0) - return reinterpret_cast(Mock_glGetGraphicsResetStatusKHR); - if (strcmp(name, "glGetInteger64i_v") == 0) - return reinterpret_cast(Mock_glGetInteger64i_v); - if (strcmp(name, "glGetInteger64v") == 0) - return reinterpret_cast(Mock_glGetInteger64v); - if (strcmp(name, "glGetIntegeri_v") == 0) - return reinterpret_cast(Mock_glGetIntegeri_v); - if (strcmp(name, "glGetIntegerv") == 0) - return reinterpret_cast(Mock_glGetIntegerv); - if (strcmp(name, "glGetInternalformativ") == 0) - return reinterpret_cast(Mock_glGetInternalformativ); - if (strcmp(name, "glGetProgramBinary") == 0) - return reinterpret_cast(Mock_glGetProgramBinary); - if (strcmp(name, "glGetProgramBinaryOES") == 0) - return reinterpret_cast(Mock_glGetProgramBinaryOES); - if (strcmp(name, "glGetProgramInfoLog") == 0) - return reinterpret_cast(Mock_glGetProgramInfoLog); - if (strcmp(name, "glGetProgramResourceLocation") == 0) - return reinterpret_cast(Mock_glGetProgramResourceLocation); - if (strcmp(name, "glGetProgramiv") == 0) - return reinterpret_cast(Mock_glGetProgramiv); - if (strcmp(name, "glGetQueryObjecti64v") == 0) - return reinterpret_cast(Mock_glGetQueryObjecti64v); - if (strcmp(name, "glGetQueryObjecti64vEXT") == 0) - return reinterpret_cast(Mock_glGetQueryObjecti64vEXT); - if (strcmp(name, "glGetQueryObjectiv") == 0) - return reinterpret_cast(Mock_glGetQueryObjectiv); - if (strcmp(name, "glGetQueryObjectivARB") == 0) - return reinterpret_cast(Mock_glGetQueryObjectivARB); - if (strcmp(name, "glGetQueryObjectivEXT") == 0) - return reinterpret_cast(Mock_glGetQueryObjectivEXT); - if (strcmp(name, "glGetQueryObjectui64v") == 0) - return reinterpret_cast(Mock_glGetQueryObjectui64v); - if (strcmp(name, "glGetQueryObjectui64vEXT") == 0) - return reinterpret_cast(Mock_glGetQueryObjectui64vEXT); - if (strcmp(name, "glGetQueryObjectuiv") == 0) - return reinterpret_cast(Mock_glGetQueryObjectuiv); - if (strcmp(name, "glGetQueryObjectuivARB") == 0) - return reinterpret_cast(Mock_glGetQueryObjectuivARB); - if (strcmp(name, "glGetQueryObjectuivEXT") == 0) - return reinterpret_cast(Mock_glGetQueryObjectuivEXT); - if (strcmp(name, "glGetQueryiv") == 0) - return reinterpret_cast(Mock_glGetQueryiv); - if (strcmp(name, "glGetQueryivARB") == 0) - return reinterpret_cast(Mock_glGetQueryivARB); - if (strcmp(name, "glGetQueryivEXT") == 0) - return reinterpret_cast(Mock_glGetQueryivEXT); - if (strcmp(name, "glGetRenderbufferParameteriv") == 0) - return reinterpret_cast(Mock_glGetRenderbufferParameteriv); - if (strcmp(name, "glGetRenderbufferParameterivEXT") == 0) - return reinterpret_cast(Mock_glGetRenderbufferParameterivEXT); - if (strcmp(name, "glGetSamplerParameterfv") == 0) - return reinterpret_cast(Mock_glGetSamplerParameterfv); - if (strcmp(name, "glGetSamplerParameteriv") == 0) - return reinterpret_cast(Mock_glGetSamplerParameteriv); - if (strcmp(name, "glGetShaderInfoLog") == 0) - return reinterpret_cast(Mock_glGetShaderInfoLog); - if (strcmp(name, "glGetShaderPrecisionFormat") == 0) - return reinterpret_cast(Mock_glGetShaderPrecisionFormat); - if (strcmp(name, "glGetShaderSource") == 0) - return reinterpret_cast(Mock_glGetShaderSource); - if (strcmp(name, "glGetShaderiv") == 0) - return reinterpret_cast(Mock_glGetShaderiv); - if (strcmp(name, "glGetString") == 0) - return reinterpret_cast(Mock_glGetString); - if (strcmp(name, "glGetStringi") == 0) - return reinterpret_cast(Mock_glGetStringi); - if (strcmp(name, "glGetSynciv") == 0) - return reinterpret_cast(Mock_glGetSynciv); - if (strcmp(name, "glGetTexLevelParameterfv") == 0) - return reinterpret_cast(Mock_glGetTexLevelParameterfv); - if (strcmp(name, "glGetTexLevelParameteriv") == 0) - return reinterpret_cast(Mock_glGetTexLevelParameteriv); - if (strcmp(name, "glGetTexParameterfv") == 0) - return reinterpret_cast(Mock_glGetTexParameterfv); - if (strcmp(name, "glGetTexParameteriv") == 0) - return reinterpret_cast(Mock_glGetTexParameteriv); - if (strcmp(name, "glGetTransformFeedbackVarying") == 0) - return reinterpret_cast(Mock_glGetTransformFeedbackVarying); - if (strcmp(name, "glGetTranslatedShaderSourceANGLE") == 0) - return reinterpret_cast(Mock_glGetTranslatedShaderSourceANGLE); - if (strcmp(name, "glGetUniformBlockIndex") == 0) - return reinterpret_cast(Mock_glGetUniformBlockIndex); - if (strcmp(name, "glGetUniformIndices") == 0) - return reinterpret_cast(Mock_glGetUniformIndices); - if (strcmp(name, "glGetUniformLocation") == 0) - return reinterpret_cast(Mock_glGetUniformLocation); - if (strcmp(name, "glGetUniformfv") == 0) - return reinterpret_cast(Mock_glGetUniformfv); - if (strcmp(name, "glGetUniformiv") == 0) - return reinterpret_cast(Mock_glGetUniformiv); - if (strcmp(name, "glGetVertexAttribPointerv") == 0) - return reinterpret_cast(Mock_glGetVertexAttribPointerv); - if (strcmp(name, "glGetVertexAttribfv") == 0) - return reinterpret_cast(Mock_glGetVertexAttribfv); - if (strcmp(name, "glGetVertexAttribiv") == 0) - return reinterpret_cast(Mock_glGetVertexAttribiv); - if (strcmp(name, "glHint") == 0) - return reinterpret_cast(Mock_glHint); - if (strcmp(name, "glInsertEventMarkerEXT") == 0) - return reinterpret_cast(Mock_glInsertEventMarkerEXT); - if (strcmp(name, "glInvalidateFramebuffer") == 0) - return reinterpret_cast(Mock_glInvalidateFramebuffer); - if (strcmp(name, "glInvalidateSubFramebuffer") == 0) - return reinterpret_cast(Mock_glInvalidateSubFramebuffer); - if (strcmp(name, "glIsBuffer") == 0) - return reinterpret_cast(Mock_glIsBuffer); - if (strcmp(name, "glIsEnabled") == 0) - return reinterpret_cast(Mock_glIsEnabled); - if (strcmp(name, "glIsFenceAPPLE") == 0) - return reinterpret_cast(Mock_glIsFenceAPPLE); - if (strcmp(name, "glIsFenceNV") == 0) - return reinterpret_cast(Mock_glIsFenceNV); - if (strcmp(name, "glIsFramebuffer") == 0) - return reinterpret_cast(Mock_glIsFramebuffer); - if (strcmp(name, "glIsFramebufferEXT") == 0) - return reinterpret_cast(Mock_glIsFramebufferEXT); - if (strcmp(name, "glIsProgram") == 0) - return reinterpret_cast(Mock_glIsProgram); - if (strcmp(name, "glIsQuery") == 0) - return reinterpret_cast(Mock_glIsQuery); - if (strcmp(name, "glIsQueryARB") == 0) - return reinterpret_cast(Mock_glIsQueryARB); - if (strcmp(name, "glIsQueryEXT") == 0) - return reinterpret_cast(Mock_glIsQueryEXT); - if (strcmp(name, "glIsRenderbuffer") == 0) - return reinterpret_cast(Mock_glIsRenderbuffer); - if (strcmp(name, "glIsRenderbufferEXT") == 0) - return reinterpret_cast(Mock_glIsRenderbufferEXT); - if (strcmp(name, "glIsSampler") == 0) - return reinterpret_cast(Mock_glIsSampler); - if (strcmp(name, "glIsShader") == 0) - return reinterpret_cast(Mock_glIsShader); - if (strcmp(name, "glIsSync") == 0) - return reinterpret_cast(Mock_glIsSync); - if (strcmp(name, "glIsTexture") == 0) - return reinterpret_cast(Mock_glIsTexture); - if (strcmp(name, "glIsTransformFeedback") == 0) - return reinterpret_cast(Mock_glIsTransformFeedback); - if (strcmp(name, "glIsVertexArray") == 0) - return reinterpret_cast(Mock_glIsVertexArray); - if (strcmp(name, "glIsVertexArrayAPPLE") == 0) - return reinterpret_cast(Mock_glIsVertexArrayAPPLE); - if (strcmp(name, "glIsVertexArrayOES") == 0) - return reinterpret_cast(Mock_glIsVertexArrayOES); - if (strcmp(name, "glLineWidth") == 0) - return reinterpret_cast(Mock_glLineWidth); - if (strcmp(name, "glLinkProgram") == 0) - return reinterpret_cast(Mock_glLinkProgram); - if (strcmp(name, "glMapBuffer") == 0) - return reinterpret_cast(Mock_glMapBuffer); - if (strcmp(name, "glMapBufferOES") == 0) - return reinterpret_cast(Mock_glMapBufferOES); - if (strcmp(name, "glMapBufferRange") == 0) - return reinterpret_cast(Mock_glMapBufferRange); - if (strcmp(name, "glMapBufferRangeEXT") == 0) - return reinterpret_cast(Mock_glMapBufferRangeEXT); - if (strcmp(name, "glMatrixLoadIdentityEXT") == 0) - return reinterpret_cast(Mock_glMatrixLoadIdentityEXT); - if (strcmp(name, "glMatrixLoadfEXT") == 0) - return reinterpret_cast(Mock_glMatrixLoadfEXT); - if (strcmp(name, "glObjectLabelKHR") == 0) - return reinterpret_cast(Mock_glObjectLabelKHR); - if (strcmp(name, "glPauseTransformFeedback") == 0) - return reinterpret_cast(Mock_glPauseTransformFeedback); - if (strcmp(name, "glPixelStorei") == 0) - return reinterpret_cast(Mock_glPixelStorei); - if (strcmp(name, "glPointParameteri") == 0) - return reinterpret_cast(Mock_glPointParameteri); - if (strcmp(name, "glPolygonOffset") == 0) - return reinterpret_cast(Mock_glPolygonOffset); - if (strcmp(name, "glPopDebugGroupKHR") == 0) - return reinterpret_cast(Mock_glPopDebugGroupKHR); - if (strcmp(name, "glPopGroupMarkerEXT") == 0) - return reinterpret_cast(Mock_glPopGroupMarkerEXT); - if (strcmp(name, "glProgramBinary") == 0) - return reinterpret_cast(Mock_glProgramBinary); - if (strcmp(name, "glProgramBinaryOES") == 0) - return reinterpret_cast(Mock_glProgramBinaryOES); - if (strcmp(name, "glProgramParameteri") == 0) - return reinterpret_cast(Mock_glProgramParameteri); - if (strcmp(name, "glPushDebugGroupKHR") == 0) - return reinterpret_cast(Mock_glPushDebugGroupKHR); - if (strcmp(name, "glPushGroupMarkerEXT") == 0) - return reinterpret_cast(Mock_glPushGroupMarkerEXT); - if (strcmp(name, "glQueryCounter") == 0) - return reinterpret_cast(Mock_glQueryCounter); - if (strcmp(name, "glQueryCounterEXT") == 0) - return reinterpret_cast(Mock_glQueryCounterEXT); - if (strcmp(name, "glReadBuffer") == 0) - return reinterpret_cast(Mock_glReadBuffer); - if (strcmp(name, "glReadPixels") == 0) - return reinterpret_cast(Mock_glReadPixels); - if (strcmp(name, "glReleaseShaderCompiler") == 0) - return reinterpret_cast(Mock_glReleaseShaderCompiler); - if (strcmp(name, "glRenderbufferStorage") == 0) - return reinterpret_cast(Mock_glRenderbufferStorage); - if (strcmp(name, "glRenderbufferStorageEXT") == 0) - return reinterpret_cast(Mock_glRenderbufferStorageEXT); - if (strcmp(name, "glRenderbufferStorageMultisample") == 0) - return reinterpret_cast(Mock_glRenderbufferStorageMultisample); - if (strcmp(name, "glRenderbufferStorageMultisampleANGLE") == 0) - return reinterpret_cast(Mock_glRenderbufferStorageMultisampleANGLE); - if (strcmp(name, "glRenderbufferStorageMultisampleAPPLE") == 0) - return reinterpret_cast(Mock_glRenderbufferStorageMultisampleAPPLE); - if (strcmp(name, "glRenderbufferStorageMultisampleEXT") == 0) - return reinterpret_cast(Mock_glRenderbufferStorageMultisampleEXT); - if (strcmp(name, "glRenderbufferStorageMultisampleIMG") == 0) - return reinterpret_cast(Mock_glRenderbufferStorageMultisampleIMG); - if (strcmp(name, "glResolveMultisampleFramebufferAPPLE") == 0) - return reinterpret_cast(Mock_glResolveMultisampleFramebufferAPPLE); - if (strcmp(name, "glResumeTransformFeedback") == 0) - return reinterpret_cast(Mock_glResumeTransformFeedback); - if (strcmp(name, "glSampleCoverage") == 0) - return reinterpret_cast(Mock_glSampleCoverage); - if (strcmp(name, "glSamplerParameterf") == 0) - return reinterpret_cast(Mock_glSamplerParameterf); - if (strcmp(name, "glSamplerParameterfv") == 0) - return reinterpret_cast(Mock_glSamplerParameterfv); - if (strcmp(name, "glSamplerParameteri") == 0) - return reinterpret_cast(Mock_glSamplerParameteri); - if (strcmp(name, "glSamplerParameteriv") == 0) - return reinterpret_cast(Mock_glSamplerParameteriv); - if (strcmp(name, "glScissor") == 0) - return reinterpret_cast(Mock_glScissor); - if (strcmp(name, "glSetFenceAPPLE") == 0) - return reinterpret_cast(Mock_glSetFenceAPPLE); - if (strcmp(name, "glSetFenceNV") == 0) - return reinterpret_cast(Mock_glSetFenceNV); - if (strcmp(name, "glShaderBinary") == 0) - return reinterpret_cast(Mock_glShaderBinary); - if (strcmp(name, "glShaderSource") == 0) - return reinterpret_cast(Mock_glShaderSource); - if (strcmp(name, "glStencilFunc") == 0) - return reinterpret_cast(Mock_glStencilFunc); - if (strcmp(name, "glStencilFuncSeparate") == 0) - return reinterpret_cast(Mock_glStencilFuncSeparate); - if (strcmp(name, "glStencilMask") == 0) - return reinterpret_cast(Mock_glStencilMask); - if (strcmp(name, "glStencilMaskSeparate") == 0) - return reinterpret_cast(Mock_glStencilMaskSeparate); - if (strcmp(name, "glStencilOp") == 0) - return reinterpret_cast(Mock_glStencilOp); - if (strcmp(name, "glStencilOpSeparate") == 0) - return reinterpret_cast(Mock_glStencilOpSeparate); - if (strcmp(name, "glTestFenceAPPLE") == 0) - return reinterpret_cast(Mock_glTestFenceAPPLE); - if (strcmp(name, "glTestFenceNV") == 0) - return reinterpret_cast(Mock_glTestFenceNV); - if (strcmp(name, "glTexImage2D") == 0) - return reinterpret_cast(Mock_glTexImage2D); - if (strcmp(name, "glTexImage3D") == 0) - return reinterpret_cast(Mock_glTexImage3D); - if (strcmp(name, "glTexParameterf") == 0) - return reinterpret_cast(Mock_glTexParameterf); - if (strcmp(name, "glTexParameterfv") == 0) - return reinterpret_cast(Mock_glTexParameterfv); - if (strcmp(name, "glTexParameteri") == 0) - return reinterpret_cast(Mock_glTexParameteri); - if (strcmp(name, "glTexParameteriv") == 0) - return reinterpret_cast(Mock_glTexParameteriv); - if (strcmp(name, "glTexStorage2D") == 0) - return reinterpret_cast(Mock_glTexStorage2D); - if (strcmp(name, "glTexStorage2DEXT") == 0) - return reinterpret_cast(Mock_glTexStorage2DEXT); - if (strcmp(name, "glTexStorage3D") == 0) - return reinterpret_cast(Mock_glTexStorage3D); - if (strcmp(name, "glTexSubImage2D") == 0) - return reinterpret_cast(Mock_glTexSubImage2D); - if (strcmp(name, "glTextureBarrierNV") == 0) - return reinterpret_cast(Mock_glTextureBarrierNV); - if (strcmp(name, "glTransformFeedbackVaryings") == 0) - return reinterpret_cast(Mock_glTransformFeedbackVaryings); - if (strcmp(name, "glUniform1f") == 0) - return reinterpret_cast(Mock_glUniform1f); - if (strcmp(name, "glUniform1fv") == 0) - return reinterpret_cast(Mock_glUniform1fv); - if (strcmp(name, "glUniform1i") == 0) - return reinterpret_cast(Mock_glUniform1i); - if (strcmp(name, "glUniform1iv") == 0) - return reinterpret_cast(Mock_glUniform1iv); - if (strcmp(name, "glUniform1ui") == 0) - return reinterpret_cast(Mock_glUniform1ui); - if (strcmp(name, "glUniform1uiv") == 0) - return reinterpret_cast(Mock_glUniform1uiv); - if (strcmp(name, "glUniform2f") == 0) - return reinterpret_cast(Mock_glUniform2f); - if (strcmp(name, "glUniform2fv") == 0) - return reinterpret_cast(Mock_glUniform2fv); - if (strcmp(name, "glUniform2i") == 0) - return reinterpret_cast(Mock_glUniform2i); - if (strcmp(name, "glUniform2iv") == 0) - return reinterpret_cast(Mock_glUniform2iv); - if (strcmp(name, "glUniform2ui") == 0) - return reinterpret_cast(Mock_glUniform2ui); - if (strcmp(name, "glUniform2uiv") == 0) - return reinterpret_cast(Mock_glUniform2uiv); - if (strcmp(name, "glUniform3f") == 0) - return reinterpret_cast(Mock_glUniform3f); - if (strcmp(name, "glUniform3fv") == 0) - return reinterpret_cast(Mock_glUniform3fv); - if (strcmp(name, "glUniform3i") == 0) - return reinterpret_cast(Mock_glUniform3i); - if (strcmp(name, "glUniform3iv") == 0) - return reinterpret_cast(Mock_glUniform3iv); - if (strcmp(name, "glUniform3ui") == 0) - return reinterpret_cast(Mock_glUniform3ui); - if (strcmp(name, "glUniform3uiv") == 0) - return reinterpret_cast(Mock_glUniform3uiv); - if (strcmp(name, "glUniform4f") == 0) - return reinterpret_cast(Mock_glUniform4f); - if (strcmp(name, "glUniform4fv") == 0) - return reinterpret_cast(Mock_glUniform4fv); - if (strcmp(name, "glUniform4i") == 0) - return reinterpret_cast(Mock_glUniform4i); - if (strcmp(name, "glUniform4iv") == 0) - return reinterpret_cast(Mock_glUniform4iv); - if (strcmp(name, "glUniform4ui") == 0) - return reinterpret_cast(Mock_glUniform4ui); - if (strcmp(name, "glUniform4uiv") == 0) - return reinterpret_cast(Mock_glUniform4uiv); - if (strcmp(name, "glUniformBlockBinding") == 0) - return reinterpret_cast(Mock_glUniformBlockBinding); - if (strcmp(name, "glUniformMatrix2fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix2fv); - if (strcmp(name, "glUniformMatrix2x3fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix2x3fv); - if (strcmp(name, "glUniformMatrix2x4fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix2x4fv); - if (strcmp(name, "glUniformMatrix3fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix3fv); - if (strcmp(name, "glUniformMatrix3x2fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix3x2fv); - if (strcmp(name, "glUniformMatrix3x4fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix3x4fv); - if (strcmp(name, "glUniformMatrix4fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix4fv); - if (strcmp(name, "glUniformMatrix4x2fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix4x2fv); - if (strcmp(name, "glUniformMatrix4x3fv") == 0) - return reinterpret_cast(Mock_glUniformMatrix4x3fv); - if (strcmp(name, "glUnmapBuffer") == 0) - return reinterpret_cast(Mock_glUnmapBuffer); - if (strcmp(name, "glUnmapBufferOES") == 0) - return reinterpret_cast(Mock_glUnmapBufferOES); - if (strcmp(name, "glUseProgram") == 0) - return reinterpret_cast(Mock_glUseProgram); - if (strcmp(name, "glValidateProgram") == 0) - return reinterpret_cast(Mock_glValidateProgram); - if (strcmp(name, "glVertexAttrib1f") == 0) - return reinterpret_cast(Mock_glVertexAttrib1f); - if (strcmp(name, "glVertexAttrib1fv") == 0) - return reinterpret_cast(Mock_glVertexAttrib1fv); - if (strcmp(name, "glVertexAttrib2f") == 0) - return reinterpret_cast(Mock_glVertexAttrib2f); - if (strcmp(name, "glVertexAttrib2fv") == 0) - return reinterpret_cast(Mock_glVertexAttrib2fv); - if (strcmp(name, "glVertexAttrib3f") == 0) - return reinterpret_cast(Mock_glVertexAttrib3f); - if (strcmp(name, "glVertexAttrib3fv") == 0) - return reinterpret_cast(Mock_glVertexAttrib3fv); - if (strcmp(name, "glVertexAttrib4f") == 0) - return reinterpret_cast(Mock_glVertexAttrib4f); - if (strcmp(name, "glVertexAttrib4fv") == 0) - return reinterpret_cast(Mock_glVertexAttrib4fv); - if (strcmp(name, "glVertexAttribDivisor") == 0) - return reinterpret_cast(Mock_glVertexAttribDivisor); - if (strcmp(name, "glVertexAttribDivisorANGLE") == 0) - return reinterpret_cast(Mock_glVertexAttribDivisorANGLE); - if (strcmp(name, "glVertexAttribDivisorARB") == 0) - return reinterpret_cast(Mock_glVertexAttribDivisorARB); - if (strcmp(name, "glVertexAttribI4i") == 0) - return reinterpret_cast(Mock_glVertexAttribI4i); - if (strcmp(name, "glVertexAttribI4iv") == 0) - return reinterpret_cast(Mock_glVertexAttribI4iv); - if (strcmp(name, "glVertexAttribI4ui") == 0) - return reinterpret_cast(Mock_glVertexAttribI4ui); - if (strcmp(name, "glVertexAttribI4uiv") == 0) - return reinterpret_cast(Mock_glVertexAttribI4uiv); - if (strcmp(name, "glVertexAttribIPointer") == 0) - return reinterpret_cast(Mock_glVertexAttribIPointer); - if (strcmp(name, "glVertexAttribPointer") == 0) - return reinterpret_cast(Mock_glVertexAttribPointer); - if (strcmp(name, "glViewport") == 0) - return reinterpret_cast(Mock_glViewport); - if (strcmp(name, "glWaitSync") == 0) - return reinterpret_cast(Mock_glWaitSync); - return reinterpret_cast(&MockInvalidFunction); -} - -} // namespace gfx diff --git a/ui/gl/gl_bindings_autogen_mock.h b/ui/gl/gl_bindings_autogen_mock.h deleted file mode 100644 index baac41c26da..00000000000 --- a/ui/gl/gl_bindings_autogen_mock.h +++ /dev/null @@ -1,1008 +0,0 @@ -// 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! - -static void GL_BINDING_CALL Mock_glActiveTexture(GLenum texture); -static void GL_BINDING_CALL Mock_glAttachShader(GLuint program, GLuint shader); -static void GL_BINDING_CALL Mock_glBeginQuery(GLenum target, GLuint id); -static void GL_BINDING_CALL Mock_glBeginQueryARB(GLenum target, GLuint id); -static void GL_BINDING_CALL Mock_glBeginQueryEXT(GLenum target, GLuint id); -static void GL_BINDING_CALL Mock_glBeginTransformFeedback(GLenum primitiveMode); -static void GL_BINDING_CALL Mock_glBindAttribLocation(GLuint program, - GLuint index, - const char* name); -static void GL_BINDING_CALL Mock_glBindBuffer(GLenum target, GLuint buffer); -static void GL_BINDING_CALL Mock_glBindBufferBase(GLenum target, - GLuint index, - GLuint buffer); -static void GL_BINDING_CALL Mock_glBindBufferRange(GLenum target, - GLuint index, - GLuint buffer, - GLintptr offset, - GLsizeiptr size); -static void GL_BINDING_CALL Mock_glBindFragDataLocation(GLuint program, - GLuint colorNumber, - const char* name); -static void GL_BINDING_CALL -Mock_glBindFragDataLocationIndexed(GLuint program, - GLuint colorNumber, - GLuint index, - const char* name); -static void GL_BINDING_CALL Mock_glBindFramebuffer(GLenum target, - GLuint framebuffer); -static void GL_BINDING_CALL Mock_glBindFramebufferEXT(GLenum target, - GLuint framebuffer); -static void GL_BINDING_CALL Mock_glBindRenderbuffer(GLenum target, - GLuint renderbuffer); -static void GL_BINDING_CALL Mock_glBindRenderbufferEXT(GLenum target, - GLuint renderbuffer); -static void GL_BINDING_CALL Mock_glBindSampler(GLuint unit, GLuint sampler); -static void GL_BINDING_CALL Mock_glBindTexture(GLenum target, GLuint texture); -static void GL_BINDING_CALL Mock_glBindTransformFeedback(GLenum target, - GLuint id); -static void GL_BINDING_CALL Mock_glBindVertexArray(GLuint array); -static void GL_BINDING_CALL Mock_glBindVertexArrayAPPLE(GLuint array); -static void GL_BINDING_CALL Mock_glBindVertexArrayOES(GLuint array); -static void GL_BINDING_CALL Mock_glBlendBarrierKHR(void); -static void GL_BINDING_CALL Mock_glBlendBarrierNV(void); -static void GL_BINDING_CALL Mock_glBlendColor(GLclampf red, - GLclampf green, - GLclampf blue, - GLclampf alpha); -static void GL_BINDING_CALL Mock_glBlendEquation(GLenum mode); -static void GL_BINDING_CALL Mock_glBlendEquationSeparate(GLenum modeRGB, - GLenum modeAlpha); -static void GL_BINDING_CALL Mock_glBlendFunc(GLenum sfactor, GLenum dfactor); -static void GL_BINDING_CALL Mock_glBlendFuncSeparate(GLenum srcRGB, - GLenum dstRGB, - GLenum srcAlpha, - GLenum dstAlpha); -static void GL_BINDING_CALL Mock_glBlitFramebuffer(GLint srcX0, - GLint srcY0, - GLint srcX1, - GLint srcY1, - GLint dstX0, - GLint dstY0, - GLint dstX1, - GLint dstY1, - GLbitfield mask, - GLenum filter); -static void GL_BINDING_CALL Mock_glBlitFramebufferANGLE(GLint srcX0, - GLint srcY0, - GLint srcX1, - GLint srcY1, - GLint dstX0, - GLint dstY0, - GLint dstX1, - GLint dstY1, - GLbitfield mask, - GLenum filter); -static void GL_BINDING_CALL Mock_glBlitFramebufferEXT(GLint srcX0, - GLint srcY0, - GLint srcX1, - GLint srcY1, - GLint dstX0, - GLint dstY0, - GLint dstX1, - GLint dstY1, - GLbitfield mask, - GLenum filter); -static void GL_BINDING_CALL Mock_glBufferData(GLenum target, - GLsizeiptr size, - const void* data, - GLenum usage); -static void GL_BINDING_CALL Mock_glBufferSubData(GLenum target, - GLintptr offset, - GLsizeiptr size, - const void* data); -static GLenum GL_BINDING_CALL Mock_glCheckFramebufferStatus(GLenum target); -static GLenum GL_BINDING_CALL Mock_glCheckFramebufferStatusEXT(GLenum target); -static void GL_BINDING_CALL Mock_glClear(GLbitfield mask); -static void GL_BINDING_CALL Mock_glClearBufferfi(GLenum buffer, - GLint drawbuffer, - const GLfloat depth, - GLint stencil); -static void GL_BINDING_CALL Mock_glClearBufferfv(GLenum buffer, - GLint drawbuffer, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glClearBufferiv(GLenum buffer, - GLint drawbuffer, - const GLint* value); -static void GL_BINDING_CALL Mock_glClearBufferuiv(GLenum buffer, - GLint drawbuffer, - const GLuint* value); -static void GL_BINDING_CALL Mock_glClearColor(GLclampf red, - GLclampf green, - GLclampf blue, - GLclampf alpha); -static void GL_BINDING_CALL Mock_glClearDepth(GLclampd depth); -static void GL_BINDING_CALL Mock_glClearDepthf(GLclampf depth); -static void GL_BINDING_CALL Mock_glClearStencil(GLint s); -static GLenum GL_BINDING_CALL Mock_glClientWaitSync(GLsync sync, - GLbitfield flags, - GLuint64 timeout); -static void GL_BINDING_CALL Mock_glColorMask(GLboolean red, - GLboolean green, - GLboolean blue, - GLboolean alpha); -static void GL_BINDING_CALL Mock_glCompileShader(GLuint shader); -static void GL_BINDING_CALL Mock_glCompressedTexImage2D(GLenum target, - GLint level, - GLenum internalformat, - GLsizei width, - GLsizei height, - GLint border, - GLsizei imageSize, - const void* data); -static void GL_BINDING_CALL Mock_glCompressedTexImage3D(GLenum target, - GLint level, - GLenum internalformat, - GLsizei width, - GLsizei height, - GLsizei depth, - GLint border, - GLsizei imageSize, - const void* data); -static void GL_BINDING_CALL Mock_glCompressedTexSubImage2D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLsizei width, - GLsizei height, - GLenum format, - GLsizei imageSize, - const void* data); -static void GL_BINDING_CALL Mock_glCopyBufferSubData(GLenum readTarget, - GLenum writeTarget, - GLintptr readOffset, - GLintptr writeOffset, - GLsizeiptr size); -static void GL_BINDING_CALL Mock_glCopyTexImage2D(GLenum target, - GLint level, - GLenum internalformat, - GLint x, - GLint y, - GLsizei width, - GLsizei height, - GLint border); -static void GL_BINDING_CALL Mock_glCopyTexSubImage2D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLint x, - GLint y, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL Mock_glCopyTexSubImage3D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLint zoffset, - GLint x, - GLint y, - GLsizei width, - GLsizei height); -static GLuint GL_BINDING_CALL Mock_glCreateProgram(void); -static GLuint GL_BINDING_CALL Mock_glCreateShader(GLenum type); -static void GL_BINDING_CALL Mock_glCullFace(GLenum mode); -static void GL_BINDING_CALL -Mock_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, const void* userparam); -static void GL_BINDING_CALL Mock_glDebugMessageControlKHR(GLenum source, - GLenum type, - GLenum severity, - GLsizei count, - const GLuint* ids, - GLboolean enabled); -static void GL_BINDING_CALL Mock_glDebugMessageInsertKHR(GLenum source, - GLenum type, - GLuint id, - GLenum severity, - GLsizei length, - const GLchar* buf); -static void GL_BINDING_CALL Mock_glDeleteBuffers(GLsizei n, - const GLuint* buffers); -static void GL_BINDING_CALL Mock_glDeleteFencesAPPLE(GLsizei n, - const GLuint* fences); -static void GL_BINDING_CALL Mock_glDeleteFencesNV(GLsizei n, - const GLuint* fences); -static void GL_BINDING_CALL -Mock_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers); -static void GL_BINDING_CALL -Mock_glDeleteFramebuffersEXT(GLsizei n, const GLuint* framebuffers); -static void GL_BINDING_CALL Mock_glDeleteProgram(GLuint program); -static void GL_BINDING_CALL Mock_glDeleteQueries(GLsizei n, const GLuint* ids); -static void GL_BINDING_CALL Mock_glDeleteQueriesARB(GLsizei n, - const GLuint* ids); -static void GL_BINDING_CALL Mock_glDeleteQueriesEXT(GLsizei n, - const GLuint* ids); -static void GL_BINDING_CALL -Mock_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers); -static void GL_BINDING_CALL -Mock_glDeleteRenderbuffersEXT(GLsizei n, const GLuint* renderbuffers); -static void GL_BINDING_CALL Mock_glDeleteSamplers(GLsizei n, - const GLuint* samplers); -static void GL_BINDING_CALL Mock_glDeleteShader(GLuint shader); -static void GL_BINDING_CALL Mock_glDeleteSync(GLsync sync); -static void GL_BINDING_CALL Mock_glDeleteTextures(GLsizei n, - const GLuint* textures); -static void GL_BINDING_CALL Mock_glDeleteTransformFeedbacks(GLsizei n, - const GLuint* ids); -static void GL_BINDING_CALL Mock_glDeleteVertexArrays(GLsizei n, - const GLuint* arrays); -static void GL_BINDING_CALL -Mock_glDeleteVertexArraysAPPLE(GLsizei n, const GLuint* arrays); -static void GL_BINDING_CALL Mock_glDeleteVertexArraysOES(GLsizei n, - const GLuint* arrays); -static void GL_BINDING_CALL Mock_glDepthFunc(GLenum func); -static void GL_BINDING_CALL Mock_glDepthMask(GLboolean flag); -static void GL_BINDING_CALL Mock_glDepthRange(GLclampd zNear, GLclampd zFar); -static void GL_BINDING_CALL Mock_glDepthRangef(GLclampf zNear, GLclampf zFar); -static void GL_BINDING_CALL Mock_glDetachShader(GLuint program, GLuint shader); -static void GL_BINDING_CALL Mock_glDisable(GLenum cap); -static void GL_BINDING_CALL Mock_glDisableVertexAttribArray(GLuint index); -static void GL_BINDING_CALL -Mock_glDiscardFramebufferEXT(GLenum target, - GLsizei numAttachments, - const GLenum* attachments); -static void GL_BINDING_CALL Mock_glDrawArrays(GLenum mode, - GLint first, - GLsizei count); -static void GL_BINDING_CALL Mock_glDrawArraysInstanced(GLenum mode, - GLint first, - GLsizei count, - GLsizei primcount); -static void GL_BINDING_CALL Mock_glDrawArraysInstancedANGLE(GLenum mode, - GLint first, - GLsizei count, - GLsizei primcount); -static void GL_BINDING_CALL Mock_glDrawArraysInstancedARB(GLenum mode, - GLint first, - GLsizei count, - GLsizei primcount); -static void GL_BINDING_CALL Mock_glDrawBuffer(GLenum mode); -static void GL_BINDING_CALL Mock_glDrawBuffers(GLsizei n, const GLenum* bufs); -static void GL_BINDING_CALL Mock_glDrawBuffersARB(GLsizei n, - const GLenum* bufs); -static void GL_BINDING_CALL Mock_glDrawBuffersEXT(GLsizei n, - const GLenum* bufs); -static void GL_BINDING_CALL Mock_glDrawElements(GLenum mode, - GLsizei count, - GLenum type, - const void* indices); -static void GL_BINDING_CALL Mock_glDrawElementsInstanced(GLenum mode, - GLsizei count, - GLenum type, - const void* indices, - GLsizei primcount); -static void GL_BINDING_CALL -Mock_glDrawElementsInstancedANGLE(GLenum mode, - GLsizei count, - GLenum type, - const void* indices, - GLsizei primcount); -static void GL_BINDING_CALL Mock_glDrawElementsInstancedARB(GLenum mode, - GLsizei count, - GLenum type, - const void* indices, - GLsizei primcount); -static void GL_BINDING_CALL Mock_glDrawRangeElements(GLenum mode, - GLuint start, - GLuint end, - GLsizei count, - GLenum type, - const void* indices); -static void GL_BINDING_CALL -Mock_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image); -static void GL_BINDING_CALL -Mock_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image); -static void GL_BINDING_CALL Mock_glEnable(GLenum cap); -static void GL_BINDING_CALL Mock_glEnableVertexAttribArray(GLuint index); -static void GL_BINDING_CALL Mock_glEndQuery(GLenum target); -static void GL_BINDING_CALL Mock_glEndQueryARB(GLenum target); -static void GL_BINDING_CALL Mock_glEndQueryEXT(GLenum target); -static void GL_BINDING_CALL Mock_glEndTransformFeedback(void); -static GLsync GL_BINDING_CALL Mock_glFenceSync(GLenum condition, - GLbitfield flags); -static void GL_BINDING_CALL Mock_glFinish(void); -static void GL_BINDING_CALL Mock_glFinishFenceAPPLE(GLuint fence); -static void GL_BINDING_CALL Mock_glFinishFenceNV(GLuint fence); -static void GL_BINDING_CALL Mock_glFlush(void); -static void GL_BINDING_CALL Mock_glFlushMappedBufferRange(GLenum target, - GLintptr offset, - GLsizeiptr length); -static void GL_BINDING_CALL -Mock_glFramebufferRenderbuffer(GLenum target, - GLenum attachment, - GLenum renderbuffertarget, - GLuint renderbuffer); -static void GL_BINDING_CALL -Mock_glFramebufferRenderbufferEXT(GLenum target, - GLenum attachment, - GLenum renderbuffertarget, - GLuint renderbuffer); -static void GL_BINDING_CALL Mock_glFramebufferTexture2D(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level); -static void GL_BINDING_CALL Mock_glFramebufferTexture2DEXT(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level); -static void GL_BINDING_CALL -Mock_glFramebufferTexture2DMultisampleEXT(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level, - GLsizei samples); -static void GL_BINDING_CALL -Mock_glFramebufferTexture2DMultisampleIMG(GLenum target, - GLenum attachment, - GLenum textarget, - GLuint texture, - GLint level, - GLsizei samples); -static void GL_BINDING_CALL Mock_glFramebufferTextureLayer(GLenum target, - GLenum attachment, - GLuint texture, - GLint level, - GLint layer); -static void GL_BINDING_CALL Mock_glFrontFace(GLenum mode); -static void GL_BINDING_CALL Mock_glGenBuffers(GLsizei n, GLuint* buffers); -static void GL_BINDING_CALL Mock_glGenFencesAPPLE(GLsizei n, GLuint* fences); -static void GL_BINDING_CALL Mock_glGenFencesNV(GLsizei n, GLuint* fences); -static void GL_BINDING_CALL Mock_glGenFramebuffers(GLsizei n, - GLuint* framebuffers); -static void GL_BINDING_CALL Mock_glGenFramebuffersEXT(GLsizei n, - GLuint* framebuffers); -static void GL_BINDING_CALL Mock_glGenQueries(GLsizei n, GLuint* ids); -static void GL_BINDING_CALL Mock_glGenQueriesARB(GLsizei n, GLuint* ids); -static void GL_BINDING_CALL Mock_glGenQueriesEXT(GLsizei n, GLuint* ids); -static void GL_BINDING_CALL Mock_glGenRenderbuffers(GLsizei n, - GLuint* renderbuffers); -static void GL_BINDING_CALL Mock_glGenRenderbuffersEXT(GLsizei n, - GLuint* renderbuffers); -static void GL_BINDING_CALL Mock_glGenSamplers(GLsizei n, GLuint* samplers); -static void GL_BINDING_CALL Mock_glGenTextures(GLsizei n, GLuint* textures); -static void GL_BINDING_CALL Mock_glGenTransformFeedbacks(GLsizei n, - GLuint* ids); -static void GL_BINDING_CALL Mock_glGenVertexArrays(GLsizei n, GLuint* arrays); -static void GL_BINDING_CALL Mock_glGenVertexArraysAPPLE(GLsizei n, - GLuint* arrays); -static void GL_BINDING_CALL Mock_glGenVertexArraysOES(GLsizei n, - GLuint* arrays); -static void GL_BINDING_CALL Mock_glGenerateMipmap(GLenum target); -static void GL_BINDING_CALL Mock_glGenerateMipmapEXT(GLenum target); -static void GL_BINDING_CALL Mock_glGetActiveAttrib(GLuint program, - GLuint index, - GLsizei bufsize, - GLsizei* length, - GLint* size, - GLenum* type, - char* name); -static void GL_BINDING_CALL Mock_glGetActiveUniform(GLuint program, - GLuint index, - GLsizei bufsize, - GLsizei* length, - GLint* size, - GLenum* type, - char* name); -static void GL_BINDING_CALL -Mock_glGetActiveUniformBlockName(GLuint program, - GLuint uniformBlockIndex, - GLsizei bufSize, - GLsizei* length, - char* uniformBlockName); -static void GL_BINDING_CALL -Mock_glGetActiveUniformBlockiv(GLuint program, - GLuint uniformBlockIndex, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL -Mock_glGetActiveUniformsiv(GLuint program, - GLsizei uniformCount, - const GLuint* uniformIndices, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetAttachedShaders(GLuint program, - GLsizei maxcount, - GLsizei* count, - GLuint* shaders); -static GLint GL_BINDING_CALL Mock_glGetAttribLocation(GLuint program, - const char* name); -static void GL_BINDING_CALL Mock_glGetBooleanv(GLenum pname, GLboolean* params); -static void GL_BINDING_CALL Mock_glGetBufferParameteriv(GLenum target, - GLenum pname, - GLint* params); -static GLuint GL_BINDING_CALL Mock_glGetDebugMessageLogKHR(GLuint count, - GLsizei bufSize, - GLenum* sources, - GLenum* types, - GLuint* ids, - GLenum* severities, - GLsizei* lengths, - GLchar* messageLog); -static GLenum GL_BINDING_CALL Mock_glGetError(void); -static void GL_BINDING_CALL Mock_glGetFenceivNV(GLuint fence, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetFloatv(GLenum pname, GLfloat* params); -static GLint GL_BINDING_CALL Mock_glGetFragDataLocation(GLuint program, - const char* name); -static void GL_BINDING_CALL -Mock_glGetFramebufferAttachmentParameteriv(GLenum target, - GLenum attachment, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL -Mock_glGetFramebufferAttachmentParameterivEXT(GLenum target, - GLenum attachment, - GLenum pname, - GLint* params); -static GLenum GL_BINDING_CALL Mock_glGetGraphicsResetStatus(void); -static GLenum GL_BINDING_CALL Mock_glGetGraphicsResetStatusARB(void); -static GLenum GL_BINDING_CALL Mock_glGetGraphicsResetStatusEXT(void); -static GLenum GL_BINDING_CALL Mock_glGetGraphicsResetStatusKHR(void); -static void GL_BINDING_CALL Mock_glGetInteger64i_v(GLenum target, - GLuint index, - GLint64* data); -static void GL_BINDING_CALL Mock_glGetInteger64v(GLenum pname, GLint64* params); -static void GL_BINDING_CALL Mock_glGetIntegeri_v(GLenum target, - GLuint index, - GLint* data); -static void GL_BINDING_CALL Mock_glGetIntegerv(GLenum pname, GLint* params); -static void GL_BINDING_CALL Mock_glGetInternalformativ(GLenum target, - GLenum internalformat, - GLenum pname, - GLsizei bufSize, - GLint* params); -static void GL_BINDING_CALL Mock_glGetProgramBinary(GLuint program, - GLsizei bufSize, - GLsizei* length, - GLenum* binaryFormat, - GLvoid* binary); -static void GL_BINDING_CALL Mock_glGetProgramBinaryOES(GLuint program, - GLsizei bufSize, - GLsizei* length, - GLenum* binaryFormat, - GLvoid* binary); -static void GL_BINDING_CALL Mock_glGetProgramInfoLog(GLuint program, - GLsizei bufsize, - GLsizei* length, - char* infolog); -static GLint GL_BINDING_CALL -Mock_glGetProgramResourceLocation(GLuint program, - GLenum programInterface, - const char* name); -static void GL_BINDING_CALL Mock_glGetProgramiv(GLuint program, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetQueryObjecti64v(GLuint id, - GLenum pname, - GLint64* params); -static void GL_BINDING_CALL Mock_glGetQueryObjecti64vEXT(GLuint id, - GLenum pname, - GLint64* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectiv(GLuint id, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectivARB(GLuint id, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectivEXT(GLuint id, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectui64v(GLuint id, - GLenum pname, - GLuint64* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectui64vEXT(GLuint id, - GLenum pname, - GLuint64* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectuiv(GLuint id, - GLenum pname, - GLuint* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectuivARB(GLuint id, - GLenum pname, - GLuint* params); -static void GL_BINDING_CALL Mock_glGetQueryObjectuivEXT(GLuint id, - GLenum pname, - GLuint* params); -static void GL_BINDING_CALL Mock_glGetQueryiv(GLenum target, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetQueryivARB(GLenum target, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetQueryivEXT(GLenum target, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetRenderbufferParameteriv(GLenum target, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetRenderbufferParameterivEXT(GLenum target, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetSamplerParameterfv(GLuint sampler, - GLenum pname, - GLfloat* params); -static void GL_BINDING_CALL Mock_glGetSamplerParameteriv(GLuint sampler, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetShaderInfoLog(GLuint shader, - GLsizei bufsize, - GLsizei* length, - char* infolog); -static void GL_BINDING_CALL -Mock_glGetShaderPrecisionFormat(GLenum shadertype, - GLenum precisiontype, - GLint* range, - GLint* precision); -static void GL_BINDING_CALL Mock_glGetShaderSource(GLuint shader, - GLsizei bufsize, - GLsizei* length, - char* source); -static void GL_BINDING_CALL Mock_glGetShaderiv(GLuint shader, - GLenum pname, - GLint* params); -static const GLubyte* GL_BINDING_CALL Mock_glGetString(GLenum name); -static const GLubyte* GL_BINDING_CALL Mock_glGetStringi(GLenum name, - GLuint index); -static void GL_BINDING_CALL Mock_glGetSynciv(GLsync sync, - GLenum pname, - GLsizei bufSize, - GLsizei* length, - GLint* values); -static void GL_BINDING_CALL Mock_glGetTexLevelParameterfv(GLenum target, - GLint level, - GLenum pname, - GLfloat* params); -static void GL_BINDING_CALL Mock_glGetTexLevelParameteriv(GLenum target, - GLint level, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetTexParameterfv(GLenum target, - GLenum pname, - GLfloat* params); -static void GL_BINDING_CALL Mock_glGetTexParameteriv(GLenum target, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glGetTransformFeedbackVarying(GLuint program, - GLuint index, - GLsizei bufSize, - GLsizei* length, - GLsizei* size, - GLenum* type, - char* name); -static void GL_BINDING_CALL -Mock_glGetTranslatedShaderSourceANGLE(GLuint shader, - GLsizei bufsize, - GLsizei* length, - char* source); -static GLuint GL_BINDING_CALL -Mock_glGetUniformBlockIndex(GLuint program, const char* uniformBlockName); -static void GL_BINDING_CALL -Mock_glGetUniformIndices(GLuint program, - GLsizei uniformCount, - const char* const* uniformNames, - GLuint* uniformIndices); -static GLint GL_BINDING_CALL Mock_glGetUniformLocation(GLuint program, - const char* name); -static void GL_BINDING_CALL Mock_glGetUniformfv(GLuint program, - GLint location, - GLfloat* params); -static void GL_BINDING_CALL Mock_glGetUniformiv(GLuint program, - GLint location, - GLint* params); -static void GL_BINDING_CALL Mock_glGetVertexAttribPointerv(GLuint index, - GLenum pname, - void** pointer); -static void GL_BINDING_CALL Mock_glGetVertexAttribfv(GLuint index, - GLenum pname, - GLfloat* params); -static void GL_BINDING_CALL Mock_glGetVertexAttribiv(GLuint index, - GLenum pname, - GLint* params); -static void GL_BINDING_CALL Mock_glHint(GLenum target, GLenum mode); -static void GL_BINDING_CALL Mock_glInsertEventMarkerEXT(GLsizei length, - const char* marker); -static void GL_BINDING_CALL -Mock_glInvalidateFramebuffer(GLenum target, - GLsizei numAttachments, - const GLenum* attachments); -static void GL_BINDING_CALL -Mock_glInvalidateSubFramebuffer(GLenum target, - GLsizei numAttachments, - const GLenum* attachments, - GLint x, - GLint y, - GLint width, - GLint height); -static GLboolean GL_BINDING_CALL Mock_glIsBuffer(GLuint buffer); -static GLboolean GL_BINDING_CALL Mock_glIsEnabled(GLenum cap); -static GLboolean GL_BINDING_CALL Mock_glIsFenceAPPLE(GLuint fence); -static GLboolean GL_BINDING_CALL Mock_glIsFenceNV(GLuint fence); -static GLboolean GL_BINDING_CALL Mock_glIsFramebuffer(GLuint framebuffer); -static GLboolean GL_BINDING_CALL Mock_glIsFramebufferEXT(GLuint framebuffer); -static GLboolean GL_BINDING_CALL Mock_glIsProgram(GLuint program); -static GLboolean GL_BINDING_CALL Mock_glIsQuery(GLuint query); -static GLboolean GL_BINDING_CALL Mock_glIsQueryARB(GLuint query); -static GLboolean GL_BINDING_CALL Mock_glIsQueryEXT(GLuint query); -static GLboolean GL_BINDING_CALL Mock_glIsRenderbuffer(GLuint renderbuffer); -static GLboolean GL_BINDING_CALL Mock_glIsRenderbufferEXT(GLuint renderbuffer); -static GLboolean GL_BINDING_CALL Mock_glIsSampler(GLuint sampler); -static GLboolean GL_BINDING_CALL Mock_glIsShader(GLuint shader); -static GLboolean GL_BINDING_CALL Mock_glIsSync(GLsync sync); -static GLboolean GL_BINDING_CALL Mock_glIsTexture(GLuint texture); -static GLboolean GL_BINDING_CALL Mock_glIsTransformFeedback(GLuint id); -static GLboolean GL_BINDING_CALL Mock_glIsVertexArray(GLuint array); -static GLboolean GL_BINDING_CALL Mock_glIsVertexArrayAPPLE(GLuint array); -static GLboolean GL_BINDING_CALL Mock_glIsVertexArrayOES(GLuint array); -static void GL_BINDING_CALL Mock_glLineWidth(GLfloat width); -static void GL_BINDING_CALL Mock_glLinkProgram(GLuint program); -static void* GL_BINDING_CALL Mock_glMapBuffer(GLenum target, GLenum access); -static void* GL_BINDING_CALL Mock_glMapBufferOES(GLenum target, GLenum access); -static void* GL_BINDING_CALL Mock_glMapBufferRange(GLenum target, - GLintptr offset, - GLsizeiptr length, - GLbitfield access); -static void* GL_BINDING_CALL Mock_glMapBufferRangeEXT(GLenum target, - GLintptr offset, - GLsizeiptr length, - GLbitfield access); -static void GL_BINDING_CALL Mock_glMatrixLoadIdentityEXT(GLenum matrixMode); -static void GL_BINDING_CALL Mock_glMatrixLoadfEXT(GLenum matrixMode, - const GLfloat* m); -static void GL_BINDING_CALL Mock_glObjectLabelKHR(GLenum identifier, - GLuint name, - GLsizei length, - const GLchar* label); -static void GL_BINDING_CALL Mock_glPauseTransformFeedback(void); -static void GL_BINDING_CALL Mock_glPixelStorei(GLenum pname, GLint param); -static void GL_BINDING_CALL Mock_glPointParameteri(GLenum pname, GLint param); -static void GL_BINDING_CALL Mock_glPolygonOffset(GLfloat factor, GLfloat units); -static void GL_BINDING_CALL Mock_glPopDebugGroupKHR(void); -static void GL_BINDING_CALL Mock_glPopGroupMarkerEXT(void); -static void GL_BINDING_CALL Mock_glProgramBinary(GLuint program, - GLenum binaryFormat, - const GLvoid* binary, - GLsizei length); -static void GL_BINDING_CALL Mock_glProgramBinaryOES(GLuint program, - GLenum binaryFormat, - const GLvoid* binary, - GLsizei length); -static void GL_BINDING_CALL Mock_glProgramParameteri(GLuint program, - GLenum pname, - GLint value); -static void GL_BINDING_CALL Mock_glPushDebugGroupKHR(GLenum source, - GLuint id, - GLsizei length, - const GLchar* message); -static void GL_BINDING_CALL Mock_glPushGroupMarkerEXT(GLsizei length, - const char* marker); -static void GL_BINDING_CALL Mock_glQueryCounter(GLuint id, GLenum target); -static void GL_BINDING_CALL Mock_glQueryCounterEXT(GLuint id, GLenum target); -static void GL_BINDING_CALL Mock_glReadBuffer(GLenum src); -static void GL_BINDING_CALL Mock_glReadPixels(GLint x, - GLint y, - GLsizei width, - GLsizei height, - GLenum format, - GLenum type, - void* pixels); -static void GL_BINDING_CALL Mock_glReleaseShaderCompiler(void); -static void GL_BINDING_CALL Mock_glRenderbufferStorage(GLenum target, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL Mock_glRenderbufferStorageEXT(GLenum target, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL -Mock_glRenderbufferStorageMultisample(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL -Mock_glRenderbufferStorageMultisampleANGLE(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL -Mock_glRenderbufferStorageMultisampleAPPLE(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL -Mock_glRenderbufferStorageMultisampleEXT(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL -Mock_glRenderbufferStorageMultisampleIMG(GLenum target, - GLsizei samples, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL Mock_glResolveMultisampleFramebufferAPPLE(void); -static void GL_BINDING_CALL Mock_glResumeTransformFeedback(void); -static void GL_BINDING_CALL Mock_glSampleCoverage(GLclampf value, - GLboolean invert); -static void GL_BINDING_CALL Mock_glSamplerParameterf(GLuint sampler, - GLenum pname, - GLfloat param); -static void GL_BINDING_CALL Mock_glSamplerParameterfv(GLuint sampler, - GLenum pname, - const GLfloat* params); -static void GL_BINDING_CALL Mock_glSamplerParameteri(GLuint sampler, - GLenum pname, - GLint param); -static void GL_BINDING_CALL Mock_glSamplerParameteriv(GLuint sampler, - GLenum pname, - const GLint* params); -static void GL_BINDING_CALL Mock_glScissor(GLint x, - GLint y, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL Mock_glSetFenceAPPLE(GLuint fence); -static void GL_BINDING_CALL Mock_glSetFenceNV(GLuint fence, GLenum condition); -static void GL_BINDING_CALL Mock_glShaderBinary(GLsizei n, - const GLuint* shaders, - GLenum binaryformat, - const void* binary, - GLsizei length); -static void GL_BINDING_CALL Mock_glShaderSource(GLuint shader, - GLsizei count, - const char* const* str, - const GLint* length); -static void GL_BINDING_CALL Mock_glStencilFunc(GLenum func, - GLint ref, - GLuint mask); -static void GL_BINDING_CALL Mock_glStencilFuncSeparate(GLenum face, - GLenum func, - GLint ref, - GLuint mask); -static void GL_BINDING_CALL Mock_glStencilMask(GLuint mask); -static void GL_BINDING_CALL Mock_glStencilMaskSeparate(GLenum face, - GLuint mask); -static void GL_BINDING_CALL Mock_glStencilOp(GLenum fail, - GLenum zfail, - GLenum zpass); -static void GL_BINDING_CALL Mock_glStencilOpSeparate(GLenum face, - GLenum fail, - GLenum zfail, - GLenum zpass); -static GLboolean GL_BINDING_CALL Mock_glTestFenceAPPLE(GLuint fence); -static GLboolean GL_BINDING_CALL Mock_glTestFenceNV(GLuint fence); -static void GL_BINDING_CALL Mock_glTexImage2D(GLenum target, - GLint level, - GLint internalformat, - GLsizei width, - GLsizei height, - GLint border, - GLenum format, - GLenum type, - const void* pixels); -static void GL_BINDING_CALL Mock_glTexImage3D(GLenum target, - GLint level, - GLint internalformat, - GLsizei width, - GLsizei height, - GLsizei depth, - GLint border, - GLenum format, - GLenum type, - const void* pixels); -static void GL_BINDING_CALL Mock_glTexParameterf(GLenum target, - GLenum pname, - GLfloat param); -static void GL_BINDING_CALL Mock_glTexParameterfv(GLenum target, - GLenum pname, - const GLfloat* params); -static void GL_BINDING_CALL Mock_glTexParameteri(GLenum target, - GLenum pname, - GLint param); -static void GL_BINDING_CALL Mock_glTexParameteriv(GLenum target, - GLenum pname, - const GLint* params); -static void GL_BINDING_CALL Mock_glTexStorage2D(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL Mock_glTexStorage2DEXT(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height); -static void GL_BINDING_CALL Mock_glTexStorage3D(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height, - GLsizei depth); -static void GL_BINDING_CALL Mock_glTexSubImage2D(GLenum target, - GLint level, - GLint xoffset, - GLint yoffset, - GLsizei width, - GLsizei height, - GLenum format, - GLenum type, - const void* pixels); -static void GL_BINDING_CALL Mock_glTextureBarrierNV(void); -static void GL_BINDING_CALL -Mock_glTransformFeedbackVaryings(GLuint program, - GLsizei count, - const char* const* varyings, - GLenum bufferMode); -static void GL_BINDING_CALL Mock_glUniform1f(GLint location, GLfloat x); -static void GL_BINDING_CALL Mock_glUniform1fv(GLint location, - GLsizei count, - const GLfloat* v); -static void GL_BINDING_CALL Mock_glUniform1i(GLint location, GLint x); -static void GL_BINDING_CALL Mock_glUniform1iv(GLint location, - GLsizei count, - const GLint* v); -static void GL_BINDING_CALL Mock_glUniform1ui(GLint location, GLuint v0); -static void GL_BINDING_CALL Mock_glUniform1uiv(GLint location, - GLsizei count, - const GLuint* v); -static void GL_BINDING_CALL Mock_glUniform2f(GLint location, - GLfloat x, - GLfloat y); -static void GL_BINDING_CALL Mock_glUniform2fv(GLint location, - GLsizei count, - const GLfloat* v); -static void GL_BINDING_CALL Mock_glUniform2i(GLint location, GLint x, GLint y); -static void GL_BINDING_CALL Mock_glUniform2iv(GLint location, - GLsizei count, - const GLint* v); -static void GL_BINDING_CALL Mock_glUniform2ui(GLint location, - GLuint v0, - GLuint v1); -static void GL_BINDING_CALL Mock_glUniform2uiv(GLint location, - GLsizei count, - const GLuint* v); -static void GL_BINDING_CALL Mock_glUniform3f(GLint location, - GLfloat x, - GLfloat y, - GLfloat z); -static void GL_BINDING_CALL Mock_glUniform3fv(GLint location, - GLsizei count, - const GLfloat* v); -static void GL_BINDING_CALL Mock_glUniform3i(GLint location, - GLint x, - GLint y, - GLint z); -static void GL_BINDING_CALL Mock_glUniform3iv(GLint location, - GLsizei count, - const GLint* v); -static void GL_BINDING_CALL Mock_glUniform3ui(GLint location, - GLuint v0, - GLuint v1, - GLuint v2); -static void GL_BINDING_CALL Mock_glUniform3uiv(GLint location, - GLsizei count, - const GLuint* v); -static void GL_BINDING_CALL -Mock_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -static void GL_BINDING_CALL Mock_glUniform4fv(GLint location, - GLsizei count, - const GLfloat* v); -static void GL_BINDING_CALL -Mock_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w); -static void GL_BINDING_CALL Mock_glUniform4iv(GLint location, - GLsizei count, - const GLint* v); -static void GL_BINDING_CALL -Mock_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); -static void GL_BINDING_CALL Mock_glUniform4uiv(GLint location, - GLsizei count, - const GLuint* v); -static void GL_BINDING_CALL -Mock_glUniformBlockBinding(GLuint program, - GLuint uniformBlockIndex, - GLuint uniformBlockBinding); -static void GL_BINDING_CALL Mock_glUniformMatrix2fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix2x3fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix2x4fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix3fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix3x2fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix3x4fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix4fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix4x2fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static void GL_BINDING_CALL Mock_glUniformMatrix4x3fv(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -static GLboolean GL_BINDING_CALL Mock_glUnmapBuffer(GLenum target); -static GLboolean GL_BINDING_CALL Mock_glUnmapBufferOES(GLenum target); -static void GL_BINDING_CALL Mock_glUseProgram(GLuint program); -static void GL_BINDING_CALL Mock_glValidateProgram(GLuint program); -static void GL_BINDING_CALL Mock_glVertexAttrib1f(GLuint indx, GLfloat x); -static void GL_BINDING_CALL Mock_glVertexAttrib1fv(GLuint indx, - const GLfloat* values); -static void GL_BINDING_CALL Mock_glVertexAttrib2f(GLuint indx, - GLfloat x, - GLfloat y); -static void GL_BINDING_CALL Mock_glVertexAttrib2fv(GLuint indx, - const GLfloat* values); -static void GL_BINDING_CALL Mock_glVertexAttrib3f(GLuint indx, - GLfloat x, - GLfloat y, - GLfloat z); -static void GL_BINDING_CALL Mock_glVertexAttrib3fv(GLuint indx, - const GLfloat* values); -static void GL_BINDING_CALL -Mock_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -static void GL_BINDING_CALL Mock_glVertexAttrib4fv(GLuint indx, - const GLfloat* values); -static void GL_BINDING_CALL Mock_glVertexAttribDivisor(GLuint index, - GLuint divisor); -static void GL_BINDING_CALL Mock_glVertexAttribDivisorANGLE(GLuint index, - GLuint divisor); -static void GL_BINDING_CALL Mock_glVertexAttribDivisorARB(GLuint index, - GLuint divisor); -static void GL_BINDING_CALL -Mock_glVertexAttribI4i(GLuint indx, GLint x, GLint y, GLint z, GLint w); -static void GL_BINDING_CALL Mock_glVertexAttribI4iv(GLuint indx, - const GLint* values); -static void GL_BINDING_CALL -Mock_glVertexAttribI4ui(GLuint indx, GLuint x, GLuint y, GLuint z, GLuint w); -static void GL_BINDING_CALL Mock_glVertexAttribI4uiv(GLuint indx, - const GLuint* values); -static void GL_BINDING_CALL Mock_glVertexAttribIPointer(GLuint indx, - GLint size, - GLenum type, - GLsizei stride, - const void* ptr); -static void GL_BINDING_CALL Mock_glVertexAttribPointer(GLuint indx, - GLint size, - GLenum type, - GLboolean normalized, - GLsizei stride, - const void* ptr); -static void GL_BINDING_CALL Mock_glViewport(GLint x, - GLint y, - GLsizei width, - GLsizei height); -static GLenum GL_BINDING_CALL Mock_glWaitSync(GLsync sync, - GLbitfield flags, - GLuint64 timeout); diff --git a/ui/gl/gl_glx_api_implementation.cc b/ui/gl/gl_glx_api_implementation.cc deleted file mode 100644 index cd38fd88806..00000000000 --- a/ui/gl/gl_glx_api_implementation.cc +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) 2012 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. - -#include "ui/gl/gl_glx_api_implementation.h" -#include "ui/gl/gl_implementation.h" - -namespace gfx { - -RealGLXApi* g_real_glx; - -void InitializeStaticGLBindingsGLX() { - g_driver_glx.InitializeStaticBindings(); - if (!g_real_glx) { - g_real_glx = new RealGLXApi(); - } - g_real_glx->Initialize(&g_driver_glx); - g_current_glx_context = g_real_glx; -} - -void InitializeDebugGLBindingsGLX() { - g_driver_glx.InitializeDebugBindings(); -} - -void ClearGLBindingsGLX() { - if (g_real_glx) { - delete g_real_glx; - g_real_glx = NULL; - } - g_current_glx_context = NULL; - g_driver_glx.ClearBindings(); -} - -GLXApi::GLXApi() { -} - -GLXApi::~GLXApi() { -} - -GLXApiBase::GLXApiBase() - : driver_(NULL) { -} - -GLXApiBase::~GLXApiBase() { -} - -void GLXApiBase::InitializeBase(DriverGLX* driver) { - driver_ = driver; -} - -RealGLXApi::RealGLXApi() { -} - -RealGLXApi::~RealGLXApi() { -} - -void RealGLXApi::Initialize(DriverGLX* driver) { - InitializeBase(driver); -} - -TraceGLXApi::~TraceGLXApi() { -} - -bool GetGLWindowSystemBindingInfoGLX(GLWindowSystemBindingInfo* info) { - Display* display = glXGetCurrentDisplay(); - const int kDefaultScreen = 0; - const char* vendor = - glXQueryServerString(display, kDefaultScreen, GLX_VENDOR); - const char* version = - glXQueryServerString(display, kDefaultScreen, GLX_VERSION); - const char* extensions = - glXQueryServerString(display, kDefaultScreen, GLX_EXTENSIONS); - *info = GLWindowSystemBindingInfo(); - if (vendor) - info->vendor = vendor; - if (version) - info->version = version; - if (extensions) - info->extensions = extensions; - info->direct_rendering = !!glXIsDirect(display, glXGetCurrentContext()); - return true; -} - -} // namespace gfx - - diff --git a/ui/gl/gl_glx_api_implementation.h b/ui/gl/gl_glx_api_implementation.h deleted file mode 100644 index c83f47826dc..00000000000 --- a/ui/gl/gl_glx_api_implementation.h +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) 2012 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. - -#ifndef UI_GL_GL_GLX_API_IMPLEMENTATION_H_ -#define UI_GL_GL_GLX_API_IMPLEMENTATION_H_ - -#include "base/compiler_specific.h" -#include "gl_bindings.h" -#include "ui/gl/gl_export.h" - -namespace gfx { - -class GLContext; -struct GLWindowSystemBindingInfo; - -void InitializeStaticGLBindingsGLX(); -void InitializeDebugGLBindingsGLX(); -void ClearGLBindingsGLX(); -bool GetGLWindowSystemBindingInfoGLX(GLWindowSystemBindingInfo* info); - -class GL_EXPORT GLXApiBase : public GLXApi { - public: - // Include the auto-generated part of this class. We split this because - // it means we can easily edit the non-auto generated parts right here in - // this file instead of having to edit some template or the code generator. - #include "gl_bindings_api_autogen_glx.h" - - protected: - GLXApiBase(); - ~GLXApiBase() override; - void InitializeBase(DriverGLX* driver); - - DriverGLX* driver_; -}; - -class GL_EXPORT RealGLXApi : public GLXApiBase { - public: - RealGLXApi(); - ~RealGLXApi() override; - void Initialize(DriverGLX* driver); -}; - -// Inserts a TRACE for every GLX call. -class GL_EXPORT TraceGLXApi : public GLXApi { - public: - TraceGLXApi(GLXApi* glx_api) : glx_api_(glx_api) { } - ~TraceGLXApi() override; - - // Include the auto-generated part of this class. We split this because - // it means we can easily edit the non-auto generated parts right here in - // this file instead of having to edit some template or the code generator. - #include "gl_bindings_api_autogen_glx.h" - - private: - GLXApi* glx_api_; -}; - -} // namespace gfx - -#endif // UI_GL_GL_GLX_API_IMPLEMENTATION_H_ - - - diff --git a/ui/gl/gl_implementation.cc b/ui/gl/gl_implementation.cc index 98b5ddea7b7..0cadbac2098 100644 --- a/ui/gl/gl_implementation.cc +++ b/ui/gl/gl_implementation.cc @@ -48,16 +48,7 @@ void CleanupNativeLibraries(void* unused) { base::ThreadLocalPointer* g_current_gl_context_tls = NULL; OSMESAApi* g_current_osmesa_context; -#if defined(USE_X11) - -EGLApi* g_current_egl_context; -GLXApi* g_current_glx_context; - -#elif defined(USE_OZONE) - -EGLApi* g_current_egl_context; - -#elif defined(OS_ANDROID) +#if defined(OS_ANDROID) EGLApi* g_current_egl_context; diff --git a/ui/gl/gl_implementation_osmesa.cc b/ui/gl/gl_implementation_osmesa.cc index 90de6909b91..36d3fb3eb7a 100644 --- a/ui/gl/gl_implementation_osmesa.cc +++ b/ui/gl/gl_implementation_osmesa.cc @@ -15,6 +15,37 @@ namespace gfx { +#if defined(OS_LINUX) +// On Linux, we always use the OSMesa implementation of GL so we hardcode these +// functions here. + +void GetAllowedGLImplementations(std::vector* impls) { + impls->push_back(kGLImplementationOSMesaGL); +} +bool InitializeDynamicGLBindings(GLImplementation implementation, + GLContext* context) { + DCHECK_EQ(implementation, kGLImplementationOSMesaGL); + InitializeDynamicGLBindingsGL(context); + return true; +} + +bool InitializeStaticGLBindings(GLImplementation implementation) { + DCHECK_EQ(implementation, kGLImplementationOSMesaGL); + + return InitializeStaticGLBindingsOSMesaGL(); +} + +void InitializeDebugGLBindings() { + InitializeDebugGLBindingsOSMESA(); +} + +void ClearGLBindings() { + ClearGLBindingsOSMESA(); + SetGLImplementation(kGLImplementationNone); + UnloadGLNativeLibraries(); +} +#endif + base::NativeLibrary LoadLibraryAndPrintError(const base::FilePath& filename) { base::NativeLibraryLoadError error; base::NativeLibrary library = base::LoadNativeLibrary(filename, &error); diff --git a/ui/gl/gl_implementation_x11.cc b/ui/gl/gl_implementation_x11.cc deleted file mode 100644 index b8a724649f8..00000000000 --- a/ui/gl/gl_implementation_x11.cc +++ /dev/null @@ -1,203 +0,0 @@ -// Copyright (c) 2012 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. - -#include - -#include "base/command_line.h" -#include "base/logging.h" -#include "base/threading/thread_restrictions.h" -#include "ui/gl/gl_bindings.h" -#include "ui/gl/gl_context_stub_with_extensions.h" -#include "ui/gl/gl_egl_api_implementation.h" -#include "ui/gl/gl_gl_api_implementation.h" -#include "ui/gl/gl_glx_api_implementation.h" -#include "ui/gl/gl_implementation.h" -#include "ui/gl/gl_implementation_osmesa.h" -#include "ui/gl/gl_osmesa_api_implementation.h" -#include "ui/gl/gl_switches.h" - -namespace gfx { -namespace { - -// TODO(piman): it should be Desktop GL marshalling from double to float. Today -// on native GLES, we do float->double->float. -void GL_BINDING_CALL MarshalClearDepthToClearDepthf(GLclampd depth) { - glClearDepthf(static_cast(depth)); -} - -void GL_BINDING_CALL MarshalDepthRangeToDepthRangef(GLclampd z_near, - GLclampd z_far) { - glDepthRangef(static_cast(z_near), static_cast(z_far)); -} - -#if defined(OS_OPENBSD) -const char kGLLibraryName[] = "libGL.so"; -#else -const char kGLLibraryName[] = "libGL.so.1"; -#endif - -const char kGLESv2LibraryName[] = "libGLESv2.so.2"; -const char kEGLLibraryName[] = "libEGL.so.1"; - -} // namespace - -void GetAllowedGLImplementations(std::vector* impls) { - impls->push_back(kGLImplementationDesktopGL); - impls->push_back(kGLImplementationEGLGLES2); - impls->push_back(kGLImplementationOSMesaGL); -} - -bool InitializeStaticGLBindings(GLImplementation implementation) { - // Prevent reinitialization with a different implementation. Once the gpu - // unit tests have initialized with kGLImplementationMock, we don't want to - // later switch to another GL implementation. - DCHECK_EQ(kGLImplementationNone, GetGLImplementation()); - - // Allow the main thread or another to initialize these bindings - // after instituting restrictions on I/O. Going forward they will - // likely be used in the browser process on most platforms. The - // one-time initialization cost is small, between 2 and 5 ms. - base::ThreadRestrictions::ScopedAllowIO allow_io; - - switch (implementation) { - case kGLImplementationOSMesaGL: - return InitializeStaticGLBindingsOSMesaGL(); - case kGLImplementationDesktopGL: { - base::NativeLibrary library = NULL; - const base::CommandLine* command_line = - base::CommandLine::ForCurrentProcess(); - - if (command_line->HasSwitch(switches::kTestGLLib)) - library = LoadLibraryAndPrintError( - command_line->GetSwitchValueASCII(switches::kTestGLLib).c_str()); - - if (!library) { - library = LoadLibraryAndPrintError(kGLLibraryName); - } - - if (!library) - return false; - - GLGetProcAddressProc get_proc_address = - reinterpret_cast( - base::GetFunctionPointerFromNativeLibrary( - library, "glXGetProcAddress")); - if (!get_proc_address) { - LOG(ERROR) << "glxGetProcAddress not found."; - base::UnloadNativeLibrary(library); - return false; - } - - SetGLGetProcAddressProc(get_proc_address); - AddGLNativeLibrary(library); - SetGLImplementation(kGLImplementationDesktopGL); - - InitializeStaticGLBindingsGL(); - InitializeStaticGLBindingsGLX(); - break; - } - case kGLImplementationEGLGLES2: { - base::NativeLibrary gles_library = - LoadLibraryAndPrintError(kGLESv2LibraryName); - if (!gles_library) - return false; - base::NativeLibrary egl_library = - LoadLibraryAndPrintError(kEGLLibraryName); - if (!egl_library) { - base::UnloadNativeLibrary(gles_library); - return false; - } - - GLGetProcAddressProc get_proc_address = - reinterpret_cast( - base::GetFunctionPointerFromNativeLibrary( - egl_library, "eglGetProcAddress")); - if (!get_proc_address) { - LOG(ERROR) << "eglGetProcAddress not found."; - base::UnloadNativeLibrary(egl_library); - base::UnloadNativeLibrary(gles_library); - return false; - } - - SetGLGetProcAddressProc(get_proc_address); - AddGLNativeLibrary(egl_library); - AddGLNativeLibrary(gles_library); - SetGLImplementation(kGLImplementationEGLGLES2); - - InitializeStaticGLBindingsGL(); - InitializeStaticGLBindingsEGL(); - - // These two functions take single precision float rather than double - // precision float parameters in GLES. - ::gfx::g_driver_gl.fn.glClearDepthFn = MarshalClearDepthToClearDepthf; - ::gfx::g_driver_gl.fn.glDepthRangeFn = MarshalDepthRangeToDepthRangef; - break; - } - case kGLImplementationMockGL: { - SetGLImplementation(kGLImplementationMockGL); - InitializeStaticGLBindingsGL(); - break; - } - default: - return false; - } - - - return true; -} - -bool InitializeDynamicGLBindings(GLImplementation implementation, - GLContext* context) { - switch (implementation) { - case kGLImplementationOSMesaGL: - case kGLImplementationDesktopGL: - case kGLImplementationEGLGLES2: - InitializeDynamicGLBindingsGL(context); - break; - case kGLImplementationMockGL: - if (!context) { - scoped_refptr mock_context( - new GLContextStubWithExtensions()); - mock_context->SetGLVersionString("3.0"); - InitializeDynamicGLBindingsGL(mock_context.get()); - } else - InitializeDynamicGLBindingsGL(context); - break; - default: - return false; - } - - return true; -} - -void InitializeDebugGLBindings() { - InitializeDebugGLBindingsEGL(); - InitializeDebugGLBindingsGL(); - InitializeDebugGLBindingsGLX(); - InitializeDebugGLBindingsOSMESA(); -} - -void ClearGLBindings() { - ClearGLBindingsEGL(); - ClearGLBindingsGL(); - ClearGLBindingsGLX(); - ClearGLBindingsOSMESA(); - SetGLImplementation(kGLImplementationNone); - - UnloadGLNativeLibraries(); -} - -bool GetGLWindowSystemBindingInfo(GLWindowSystemBindingInfo* info) { - switch (GetGLImplementation()) { - case kGLImplementationDesktopGL: - return GetGLWindowSystemBindingInfoGLX(info); - case kGLImplementationEGLGLES2: - return GetGLWindowSystemBindingInfoEGL(info); - default: - return false; - } - return false; -} - -} // namespace gfx diff --git a/ui/gl/gl_mock.cc b/ui/gl/gl_mock.cc deleted file mode 100644 index 3b835792202..00000000000 --- a/ui/gl/gl_mock.cc +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) 2010 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. - -#include "ui/gl/gl_mock.h" - -namespace gfx { - -MockGLInterface::MockGLInterface() { -} - -MockGLInterface::~MockGLInterface() { -} - -MockGLInterface* MockGLInterface::interface_; - -void MockGLInterface::SetGLInterface(MockGLInterface* gl_interface) { - interface_ = gl_interface; -} - -} // namespace gfx diff --git a/ui/gl/gl_mock.h b/ui/gl/gl_mock.h deleted file mode 100644 index b678a5e8791..00000000000 --- a/ui/gl/gl_mock.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 2012 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 implements mock GL Interface for unit testing. The interface -// corresponds to the set of functionally distinct GL functions defined in -// generate_bindings.py, which may originate from either desktop GL or GLES. - -#ifndef UI_GL_GL_MOCK_H_ -#define UI_GL_GL_MOCK_H_ - -#include "testing/gmock/include/gmock/gmock.h" -#include "ui/gl/gl_bindings.h" - -namespace gfx { - -class MockGLInterface { - public: - MockGLInterface(); - virtual ~MockGLInterface(); - - // Set the functions called from the mock GL implementation for the purposes - // of testing. - static void SetGLInterface(MockGLInterface* gl_interface); - - // Find an entry point to the mock GL implementation. - static void* GL_BINDING_CALL GetGLProcAddress(const char* name); - - // Include the auto-generated parts of this class. We split this because - // it means we can easily edit the non-auto generated parts right here in - // this file instead of having to edit some template or the code generator. - - // Member functions - #include "gl_mock_autogen_gl.h" - - private: - static MockGLInterface* interface_; - - // Static mock functions that invoke the member functions of interface_. - #include "gl_bindings_autogen_mock.h" -}; - -} // namespace gfx - -#endif // UI_GL_GL_MOCK_H_ diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc deleted file mode 100644 index 2a52fc7d3fd..00000000000 --- a/ui/gl/gl_surface_glx.cc +++ /dev/null @@ -1,697 +0,0 @@ -// Copyright (c) 2012 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. - -extern "C" { -#include -} - -#include "ui/gl/gl_surface_glx.h" - -#include "base/basictypes.h" -#include "base/lazy_instance.h" -#include "base/logging.h" -#include "base/memory/scoped_ptr.h" -#include "base/memory/weak_ptr.h" -#include "base/message_loop/message_loop.h" -#include "base/single_thread_task_runner.h" -#include "base/synchronization/cancellation_flag.h" -#include "base/synchronization/lock.h" -#include "base/thread_task_runner_handle.h" -#include "base/threading/non_thread_safe.h" -#include "base/threading/thread.h" -#include "base/time/time.h" -#include "base/trace_event/trace_event.h" -#include "ui/events/platform/platform_event_source.h" -#include "ui/gfx/x/x11_connection.h" -#include "ui/gfx/x/x11_types.h" -#include "ui/gl/gl_bindings.h" -#include "ui/gl/gl_implementation.h" -#include "ui/gl/sync_control_vsync_provider.h" - -namespace gfx { - -namespace { - -Display* g_display = NULL; -const char* g_glx_extensions = NULL; -bool g_glx_context_create = false; -bool g_glx_create_context_robustness_supported = false; -bool g_glx_texture_from_pixmap_supported = false; -bool g_glx_oml_sync_control_supported = false; - -// Track support of glXGetMscRateOML separately from GLX_OML_sync_control as a -// whole since on some platforms (e.g. crosbug.com/34585), glXGetMscRateOML -// always fails even though GLX_OML_sync_control is reported as being supported. -bool g_glx_get_msc_rate_oml_supported = false; - -bool g_glx_sgi_video_sync_supported = false; - -static const base::TimeDelta kGetVSyncParametersMinPeriod = -#if defined(OS_LINUX) - // See crbug.com/373489 - // On Linux, querying the vsync parameters might burn CPU for up to an - // entire vsync, so we only query periodically to reduce CPU usage. - // 5 seconds is chosen somewhat abitrarily as a balance between: - // a) Drift in the phase of our signal. - // b) Potential janks from periodically pegging the CPU. - base::TimeDelta::FromSeconds(5); -#else - base::TimeDelta::FromSeconds(0); -#endif - -class OMLSyncControlVSyncProvider - : public gfx::SyncControlVSyncProvider { - public: - explicit OMLSyncControlVSyncProvider(gfx::AcceleratedWidget window) - : SyncControlVSyncProvider(), - window_(window) { - } - - ~OMLSyncControlVSyncProvider() override {} - - protected: - bool GetSyncValues(int64* system_time, - int64* media_stream_counter, - int64* swap_buffer_counter) override { - return glXGetSyncValuesOML(g_display, window_, system_time, - media_stream_counter, swap_buffer_counter); - } - - bool GetMscRate(int32* numerator, int32* denominator) override { - if (!g_glx_get_msc_rate_oml_supported) - return false; - - if (!glXGetMscRateOML(g_display, window_, numerator, denominator)) { - // Once glXGetMscRateOML has been found to fail, don't try again, - // since each failing call may spew an error message. - g_glx_get_msc_rate_oml_supported = false; - return false; - } - - return true; - } - - private: - XID window_; - - DISALLOW_COPY_AND_ASSIGN(OMLSyncControlVSyncProvider); -}; - -class SGIVideoSyncThread - : public base::Thread, - public base::NonThreadSafe, - public base::RefCounted { - public: - static scoped_refptr Create() { - if (!g_video_sync_thread) { - g_video_sync_thread = new SGIVideoSyncThread(); - g_video_sync_thread->Start(); - } - return g_video_sync_thread; - } - - private: - friend class base::RefCounted; - - SGIVideoSyncThread() : base::Thread("SGI_video_sync") { - DCHECK(CalledOnValidThread()); - } - - ~SGIVideoSyncThread() override { - DCHECK(CalledOnValidThread()); - g_video_sync_thread = NULL; - Stop(); - } - - static SGIVideoSyncThread* g_video_sync_thread; - - DISALLOW_COPY_AND_ASSIGN(SGIVideoSyncThread); -}; - -class SGIVideoSyncProviderThreadShim { - public: - explicit SGIVideoSyncProviderThreadShim(XID window) - : window_(window), - context_(NULL), - task_runner_(base::ThreadTaskRunnerHandle::Get()), - cancel_vsync_flag_(), - vsync_lock_() { - // This ensures that creation of |window_| has occured when this shim - // is executing in the same process as the call to create |window_|. - XSync(g_display, False); - } - - virtual ~SGIVideoSyncProviderThreadShim() { - if (context_) { - glXDestroyContext(display_, context_); - context_ = NULL; - } - } - - base::CancellationFlag* cancel_vsync_flag() { - return &cancel_vsync_flag_; - } - - base::Lock* vsync_lock() { - return &vsync_lock_; - } - - void Initialize() { - DCHECK(display_); - - XWindowAttributes attributes; - if (!XGetWindowAttributes(display_, window_, &attributes)) { - LOG(ERROR) << "XGetWindowAttributes failed for window " << - window_ << "."; - return; - } - - XVisualInfo visual_info_template; - visual_info_template.visualid = XVisualIDFromVisual(attributes.visual); - - int visual_info_count = 0; - gfx::XScopedPtr visual_info_list(XGetVisualInfo( - display_, VisualIDMask, &visual_info_template, &visual_info_count)); - - DCHECK(visual_info_list.get()); - if (visual_info_count == 0) { - LOG(ERROR) << "No visual info for visual ID."; - return; - } - - context_ = glXCreateContext(display_, visual_info_list.get(), NULL, True); - - DCHECK(NULL != context_); - } - - void GetVSyncParameters(const VSyncProvider::UpdateVSyncCallback& callback) { - base::TimeTicks now; - { - // Don't allow |window_| destruction while we're probing vsync. - base::AutoLock locked(vsync_lock_); - - if (!context_ || cancel_vsync_flag_.IsSet()) - return; - - glXMakeCurrent(display_, window_, context_); - - unsigned int retrace_count = 0; - if (glXWaitVideoSyncSGI(1, 0, &retrace_count) != 0) - return; - - TRACE_EVENT_INSTANT0("gpu", "vblank", TRACE_EVENT_SCOPE_THREAD); - now = base::TimeTicks::Now(); - - glXMakeCurrent(display_, 0, 0); - } - - const base::TimeDelta kDefaultInterval = - base::TimeDelta::FromSeconds(1) / 60; - - task_runner_->PostTask( - FROM_HERE, base::Bind(callback, now, kDefaultInterval)); - } - - private: - // For initialization of display_ in GLSurface::InitializeOneOff before - // the sandbox goes up. - friend class gfx::GLSurfaceGLX; - - static Display* display_; - - XID window_; - GLXContext context_; - - scoped_refptr task_runner_; - - base::CancellationFlag cancel_vsync_flag_; - base::Lock vsync_lock_; - - DISALLOW_COPY_AND_ASSIGN(SGIVideoSyncProviderThreadShim); -}; - -class SGIVideoSyncVSyncProvider - : public gfx::VSyncProvider, - public base::SupportsWeakPtr { - public: - explicit SGIVideoSyncVSyncProvider(gfx::AcceleratedWidget window) - : vsync_thread_(SGIVideoSyncThread::Create()), - shim_(new SGIVideoSyncProviderThreadShim(window)), - cancel_vsync_flag_(shim_->cancel_vsync_flag()), - vsync_lock_(shim_->vsync_lock()) { - vsync_thread_->message_loop()->PostTask( - FROM_HERE, - base::Bind(&SGIVideoSyncProviderThreadShim::Initialize, - base::Unretained(shim_.get()))); - } - - ~SGIVideoSyncVSyncProvider() override { - { - base::AutoLock locked(*vsync_lock_); - cancel_vsync_flag_->Set(); - } - - // Hand-off |shim_| to be deleted on the |vsync_thread_|. - vsync_thread_->message_loop()->DeleteSoon( - FROM_HERE, - shim_.release()); - } - - void GetVSyncParameters( - const VSyncProvider::UpdateVSyncCallback& callback) override { - if (kGetVSyncParametersMinPeriod > base::TimeDelta()) { - base::TimeTicks now = base::TimeTicks::Now(); - base::TimeDelta delta = now - last_get_vsync_parameters_time_; - if (delta < kGetVSyncParametersMinPeriod) - return; - last_get_vsync_parameters_time_ = now; - } - - // Only one outstanding request per surface. - if (!pending_callback_) { - pending_callback_.reset( - new VSyncProvider::UpdateVSyncCallback(callback)); - vsync_thread_->message_loop()->PostTask( - FROM_HERE, - base::Bind(&SGIVideoSyncProviderThreadShim::GetVSyncParameters, - base::Unretained(shim_.get()), - base::Bind( - &SGIVideoSyncVSyncProvider::PendingCallbackRunner, - AsWeakPtr()))); - } - } - - private: - void PendingCallbackRunner(const base::TimeTicks timebase, - const base::TimeDelta interval) { - DCHECK(pending_callback_); - pending_callback_->Run(timebase, interval); - pending_callback_.reset(); - } - - scoped_refptr vsync_thread_; - - // Thread shim through which the sync provider is accessed on |vsync_thread_|. - scoped_ptr shim_; - - scoped_ptr pending_callback_; - - // Raw pointers to sync primitives owned by the shim_. - // These will only be referenced before we post a task to destroy - // the shim_, so they are safe to access. - base::CancellationFlag* cancel_vsync_flag_; - base::Lock* vsync_lock_; - - base::TimeTicks last_get_vsync_parameters_time_; - - DISALLOW_COPY_AND_ASSIGN(SGIVideoSyncVSyncProvider); -}; - -SGIVideoSyncThread* SGIVideoSyncThread::g_video_sync_thread = NULL; - -// In order to take advantage of GLX_SGI_video_sync, we need a display -// for use on a separate thread. We must allocate this before the sandbox -// goes up (rather than on-demand when we start the thread). -Display* SGIVideoSyncProviderThreadShim::display_ = NULL; - -} // namespace - -GLSurfaceGLX::GLSurfaceGLX( - const gfx::SurfaceConfiguration& requested_configuration) - : GLSurface(requested_configuration) { -} - -bool GLSurfaceGLX::InitializeOneOff() { - static bool initialized = false; - if (initialized) - return true; - - // http://crbug.com/245466 - setenv("force_s3tc_enable", "true", 1); - - // SGIVideoSyncProviderShim (if instantiated) will issue X commands on - // it's own thread. - gfx::InitializeThreadedX11(); - g_display = gfx::GetXDisplay(); - - if (!g_display) { - LOG(ERROR) << "XOpenDisplay failed."; - return false; - } - - int major, minor; - if (!glXQueryVersion(g_display, &major, &minor)) { - LOG(ERROR) << "glxQueryVersion failed"; - return false; - } - - if (major == 1 && minor < 3) { - LOG(ERROR) << "GLX 1.3 or later is required."; - return false; - } - - g_glx_extensions = glXQueryExtensionsString(g_display, 0); - g_glx_context_create = - HasGLXExtension("GLX_ARB_create_context"); - g_glx_create_context_robustness_supported = - HasGLXExtension("GLX_ARB_create_context_robustness"); - g_glx_texture_from_pixmap_supported = - HasGLXExtension("GLX_EXT_texture_from_pixmap"); - g_glx_oml_sync_control_supported = - HasGLXExtension("GLX_OML_sync_control"); - g_glx_get_msc_rate_oml_supported = g_glx_oml_sync_control_supported; - g_glx_sgi_video_sync_supported = - HasGLXExtension("GLX_SGI_video_sync"); - - if (!g_glx_get_msc_rate_oml_supported && g_glx_sgi_video_sync_supported) - SGIVideoSyncProviderThreadShim::display_ = gfx::OpenNewXDisplay(); - - initialized = true; - return true; -} - -// static -const char* GLSurfaceGLX::GetGLXExtensions() { - return g_glx_extensions; -} - -// static -bool GLSurfaceGLX::HasGLXExtension(const char* name) { - return ExtensionsContain(GetGLXExtensions(), name); -} - -// static -bool GLSurfaceGLX::IsCreateContextSupported() { - return g_glx_context_create; -} - -// static -bool GLSurfaceGLX::IsCreateContextRobustnessSupported() { - return g_glx_create_context_robustness_supported; -} - -// static -bool GLSurfaceGLX::IsTextureFromPixmapSupported() { - return g_glx_texture_from_pixmap_supported; -} - -// static -bool GLSurfaceGLX::IsOMLSyncControlSupported() { - return g_glx_oml_sync_control_supported; -} - -void* GLSurfaceGLX::GetDisplay() { - return g_display; -} - -GLSurfaceGLX::~GLSurfaceGLX() {} - -NativeViewGLSurfaceGLX::NativeViewGLSurfaceGLX( - gfx::AcceleratedWidget window, - const gfx::SurfaceConfiguration& requested_configuration) - : GLSurfaceGLX(requested_configuration), - parent_window_(window), - window_(0), - config_(NULL) { -} - -gfx::AcceleratedWidget NativeViewGLSurfaceGLX::GetDrawableHandle() const { - return window_; -} - -bool NativeViewGLSurfaceGLX::Initialize() { - XWindowAttributes attributes; - if (!XGetWindowAttributes(g_display, parent_window_, &attributes)) { - LOG(ERROR) << "XGetWindowAttributes failed for window " << parent_window_ - << "."; - return false; - } - size_ = gfx::Size(attributes.width, attributes.height); - // Create a child window, with a CopyFromParent visual (to avoid inducing - // extra blits in the driver), that we can resize exactly in Resize(), - // correctly ordered with GL, so that we don't have invalid transient states. - // See https://crbug.com/326995. - window_ = XCreateWindow(g_display, - parent_window_, - 0, - 0, - size_.width(), - size_.height(), - 0, - CopyFromParent, - InputOutput, - CopyFromParent, - 0, - NULL); - XMapWindow(g_display, window_); - - ui::PlatformEventSource* event_source = - ui::PlatformEventSource::GetInstance(); - // Can be NULL in tests, when we don't care about Exposes. - if (event_source) { - XSelectInput(g_display, window_, ExposureMask); - ui::PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this); - } - XFlush(g_display); - - gfx::AcceleratedWidget window_for_vsync = window_; - - if (g_glx_oml_sync_control_supported) - vsync_provider_.reset(new OMLSyncControlVSyncProvider(window_for_vsync)); - else if (g_glx_sgi_video_sync_supported) - vsync_provider_.reset(new SGIVideoSyncVSyncProvider(window_for_vsync)); - - return true; -} - -void NativeViewGLSurfaceGLX::Destroy() { - if (window_) { - ui::PlatformEventSource* event_source = - ui::PlatformEventSource::GetInstance(); - if (event_source) - event_source->RemovePlatformEventDispatcher(this); - XDestroyWindow(g_display, window_); - XFlush(g_display); - } -} - -bool NativeViewGLSurfaceGLX::CanDispatchEvent(const ui::PlatformEvent& event) { - return event->type == Expose && event->xexpose.window == window_; -} - -uint32_t NativeViewGLSurfaceGLX::DispatchEvent(const ui::PlatformEvent& event) { - XEvent forwarded_event = *event; - forwarded_event.xexpose.window = parent_window_; - XSendEvent(g_display, parent_window_, False, ExposureMask, - &forwarded_event); - XFlush(g_display); - return ui::POST_DISPATCH_STOP_PROPAGATION; -} - -bool NativeViewGLSurfaceGLX::Resize(const gfx::Size& size) { - size_ = size; - glXWaitGL(); - XResizeWindow(g_display, window_, size.width(), size.height()); - glXWaitX(); - return true; -} - -bool NativeViewGLSurfaceGLX::IsOffscreen() { - return false; -} - -bool NativeViewGLSurfaceGLX::SwapBuffers() { - TRACE_EVENT2("gpu", "NativeViewGLSurfaceGLX:RealSwapBuffers", - "width", GetSize().width(), - "height", GetSize().height()); - - glXSwapBuffers(g_display, GetDrawableHandle()); - return true; -} - -gfx::Size NativeViewGLSurfaceGLX::GetSize() { - return size_; -} - -void* NativeViewGLSurfaceGLX::GetHandle() { - return reinterpret_cast(GetDrawableHandle()); -} - -bool NativeViewGLSurfaceGLX::SupportsPostSubBuffer() { - return gfx::g_driver_glx.ext.b_GLX_MESA_copy_sub_buffer; -} - -void* NativeViewGLSurfaceGLX::GetConfig() { - if (!config_) { - // This code path is expensive, but we only take it when - // attempting to use GLX_ARB_create_context_robustness, in which - // case we need a GLXFBConfig for the window in order to create a - // context for it. - // - // TODO(kbr): this is not a reliable code path. On platforms which - // support it, we should use glXChooseFBConfig in the browser - // process to choose the FBConfig and from there the X Visual to - // use when creating the window in the first place. Then we can - // pass that FBConfig down rather than attempting to reconstitute - // it. - // - // TODO(iansf): Perhaps instead of kbr's suggestion above, we can - // now use GLSurface::GetSurfaceConfiguration to use the returned - // gfx::SurfaceConfiguration with glXChooseFBConfig in a manner - // similar to that used in NativeViewGLSurfaceEGL::GetConfig. - - XWindowAttributes attributes; - if (!XGetWindowAttributes( - g_display, - window_, - &attributes)) { - LOG(ERROR) << "XGetWindowAttributes failed for window " << - window_ << "."; - return NULL; - } - - int visual_id = XVisualIDFromVisual(attributes.visual); - - int num_elements = 0; - gfx::XScopedPtr configs( - glXGetFBConfigs(g_display, DefaultScreen(g_display), &num_elements)); - if (!configs.get()) { - LOG(ERROR) << "glXGetFBConfigs failed."; - return NULL; - } - if (!num_elements) { - LOG(ERROR) << "glXGetFBConfigs returned 0 elements."; - return NULL; - } - bool found = false; - int i; - for (i = 0; i < num_elements; ++i) { - int value; - if (glXGetFBConfigAttrib( - g_display, configs.get()[i], GLX_VISUAL_ID, &value)) { - LOG(ERROR) << "glXGetFBConfigAttrib failed."; - return NULL; - } - if (value == visual_id) { - found = true; - break; - } - } - if (found) { - config_ = configs.get()[i]; - } - } - - return config_; -} - -bool NativeViewGLSurfaceGLX::PostSubBuffer( - int x, int y, int width, int height) { - DCHECK(gfx::g_driver_glx.ext.b_GLX_MESA_copy_sub_buffer); - glXCopySubBufferMESA(g_display, GetDrawableHandle(), x, y, width, height); - return true; -} - -VSyncProvider* NativeViewGLSurfaceGLX::GetVSyncProvider() { - return vsync_provider_.get(); -} - -NativeViewGLSurfaceGLX::~NativeViewGLSurfaceGLX() { - Destroy(); -} - -PbufferGLSurfaceGLX::PbufferGLSurfaceGLX( - const gfx::Size& size, - const gfx::SurfaceConfiguration& requested_configuration) - : GLSurfaceGLX(requested_configuration), - size_(size), - config_(NULL), - pbuffer_(0) { - // Some implementations of Pbuffer do not support having a 0 size. For such - // cases use a (1, 1) surface. - if (size_.GetArea() == 0) - size_.SetSize(1, 1); -} - -bool PbufferGLSurfaceGLX::Initialize() { - DCHECK(!pbuffer_); - - static const int config_attributes[] = { - GLX_BUFFER_SIZE, 32, - GLX_ALPHA_SIZE, 8, - GLX_BLUE_SIZE, 8, - GLX_GREEN_SIZE, 8, - GLX_RED_SIZE, 8, - GLX_RENDER_TYPE, GLX_RGBA_BIT, - GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT, - GLX_DOUBLEBUFFER, False, - 0 - }; - - int num_elements = 0; - gfx::XScopedPtr configs(glXChooseFBConfig( - g_display, DefaultScreen(g_display), config_attributes, &num_elements)); - if (!configs.get()) { - LOG(ERROR) << "glXChooseFBConfig failed."; - return false; - } - if (!num_elements) { - LOG(ERROR) << "glXChooseFBConfig returned 0 elements."; - return false; - } - - config_ = configs.get()[0]; - - const int pbuffer_attributes[] = { - GLX_PBUFFER_WIDTH, size_.width(), - GLX_PBUFFER_HEIGHT, size_.height(), - 0 - }; - pbuffer_ = glXCreatePbuffer(g_display, - static_cast(config_), - pbuffer_attributes); - if (!pbuffer_) { - Destroy(); - LOG(ERROR) << "glXCreatePbuffer failed."; - return false; - } - - return true; -} - -void PbufferGLSurfaceGLX::Destroy() { - if (pbuffer_) { - glXDestroyPbuffer(g_display, pbuffer_); - pbuffer_ = 0; - } - - config_ = NULL; -} - -bool PbufferGLSurfaceGLX::IsOffscreen() { - return true; -} - -bool PbufferGLSurfaceGLX::SwapBuffers() { - NOTREACHED() << "Attempted to call SwapBuffers on a pbuffer."; - return false; -} - -gfx::Size PbufferGLSurfaceGLX::GetSize() { - return size_; -} - -void* PbufferGLSurfaceGLX::GetHandle() { - return reinterpret_cast(pbuffer_); -} - -void* PbufferGLSurfaceGLX::GetConfig() { - return config_; -} - -PbufferGLSurfaceGLX::~PbufferGLSurfaceGLX() { - Destroy(); -} - -} // namespace gfx diff --git a/ui/gl/gl_surface_glx.h b/ui/gl/gl_surface_glx.h deleted file mode 100644 index d8fa9a4382b..00000000000 --- a/ui/gl/gl_surface_glx.h +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright (c) 2012 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. - -#ifndef UI_GL_GL_SURFACE_GLX_H_ -#define UI_GL_GL_SURFACE_GLX_H_ - -#include - -#include "base/compiler_specific.h" -#include "ui/events/platform/platform_event_dispatcher.h" -#include "ui/gfx/geometry/size.h" -#include "ui/gfx/native_widget_types.h" -#include "ui/gfx/vsync_provider.h" -#include "ui/gfx/x/x11_types.h" -#include "ui/gl/gl_export.h" -#include "ui/gl/gl_surface.h" - -namespace gfx { - -// Base class for GLX surfaces. -class GL_EXPORT GLSurfaceGLX : public GLSurface { - public: - explicit GLSurfaceGLX( - const gfx::SurfaceConfiguration& requested_configuration); - - static bool InitializeOneOff(); - - // These aren't particularly tied to surfaces, but since we already - // have the static InitializeOneOff here, it's easiest to reuse its - // initialization guards. - static const char* GetGLXExtensions(); - static bool HasGLXExtension(const char* name); - static bool IsCreateContextSupported(); - static bool IsCreateContextRobustnessSupported(); - static bool IsTextureFromPixmapSupported(); - static bool IsOMLSyncControlSupported(); - - void* GetDisplay() override; - - // Get the FB config that the surface was created with or NULL if it is not - // a GLX drawable. - void* GetConfig() override = 0; - - protected: - ~GLSurfaceGLX() override; - - private: - DISALLOW_COPY_AND_ASSIGN(GLSurfaceGLX); -}; - -// A surface used to render to a view. -class GL_EXPORT NativeViewGLSurfaceGLX : public GLSurfaceGLX, - public ui::PlatformEventDispatcher { - public: - NativeViewGLSurfaceGLX( - gfx::AcceleratedWidget window, - const gfx::SurfaceConfiguration& requested_configuration); - - // Implement GLSurfaceGLX. - bool Initialize() override; - void Destroy() override; - bool Resize(const gfx::Size& size) override; - bool IsOffscreen() override; - bool SwapBuffers() override; - gfx::Size GetSize() override; - void* GetHandle() override; - bool SupportsPostSubBuffer() override; - void* GetConfig() override; - bool PostSubBuffer(int x, int y, int width, int height) override; - VSyncProvider* GetVSyncProvider() override; - - protected: - ~NativeViewGLSurfaceGLX() override; - - private: - // The handle for the drawable to make current or swap. - gfx::AcceleratedWidget GetDrawableHandle() const; - - // PlatformEventDispatcher implementation - bool CanDispatchEvent(const ui::PlatformEvent& event) override; - uint32_t DispatchEvent(const ui::PlatformEvent& event) override; - - // Window passed in at creation. Always valid. - gfx::AcceleratedWidget parent_window_; - - // Child window, used to control resizes so that they're in-order with GL. - gfx::AcceleratedWidget window_; - - void* config_; - gfx::Size size_; - - scoped_ptr vsync_provider_; - - DISALLOW_COPY_AND_ASSIGN(NativeViewGLSurfaceGLX); -}; - -// A surface used to render to an offscreen pbuffer. -class GL_EXPORT PbufferGLSurfaceGLX : public GLSurfaceGLX { - public: - PbufferGLSurfaceGLX( - const gfx::Size& size, - const gfx::SurfaceConfiguration& requested_configuration); - - // Implement GLSurfaceGLX. - bool Initialize() override; - void Destroy() override; - bool IsOffscreen() override; - bool SwapBuffers() override; - gfx::Size GetSize() override; - void* GetHandle() override; - void* GetConfig() override; - - protected: - ~PbufferGLSurfaceGLX() override; - - private: - gfx::Size size_; - void* config_; - XID pbuffer_; - - DISALLOW_COPY_AND_ASSIGN(PbufferGLSurfaceGLX); -}; - -} // namespace gfx - -#endif // UI_GL_GL_SURFACE_GLX_H_ diff --git a/ui/gl/gl_surface_osmesa_x11.h b/ui/gl/gl_surface_osmesa_x11.h index 02132792544..2b2071dc566 100644 --- a/ui/gl/gl_surface_osmesa_x11.h +++ b/ui/gl/gl_surface_osmesa_x11.h @@ -5,8 +5,7 @@ #ifndef UI_GL_GL_SURFACE_OSMESA_X11_H_ #define UI_GL_GL_SURFACE_OSMESA_X11_H_ -#include // For Pixmap - +#include "third_party/khronos/EGL/eglplatform.h" // For Pixmap #include "ui/gfx/native_widget_types.h" #include "ui/gfx/x/x11_types.h" #include "ui/gl/gl_surface.h"