diff options
Diffstat (limited to 'chromium/ui/gl/gl_glx_api_implementation.cc')
-rw-r--r-- | chromium/ui/gl/gl_glx_api_implementation.cc | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/chromium/ui/gl/gl_glx_api_implementation.cc b/chromium/ui/gl/gl_glx_api_implementation.cc index 413a385f2e6..d7903a2654d 100644 --- a/chromium/ui/gl/gl_glx_api_implementation.cc +++ b/chromium/ui/gl/gl_glx_api_implementation.cc @@ -7,7 +7,9 @@ #include "base/command_line.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" +#include "ui/gl/gl_context.h" #include "ui/gl/gl_implementation.h" +#include "ui/gl/gl_surface_glx.h" namespace gl { @@ -21,7 +23,6 @@ void InitializeStaticGLBindingsGLX() { } g_real_glx->Initialize(&g_driver_glx); g_current_glx_context = g_real_glx; - g_driver_glx.InitializeExtensionBindings(); } void InitializeDebugGLBindingsGLX() { @@ -68,16 +69,10 @@ RealGLXApi::~RealGLXApi() { } void RealGLXApi::Initialize(DriverGLX* driver) { - InitializeWithCommandLine(driver, base::CommandLine::ForCurrentProcess()); -} - -void RealGLXApi::InitializeWithCommandLine(DriverGLX* driver, - base::CommandLine* command_line) { - DCHECK(command_line); InitializeBase(driver); +} - const std::string disabled_extensions = command_line->GetSwitchValueASCII( - switches::kDisableGLExtensions); +void RealGLXApi::SetDisabledExtensions(const std::string& disabled_extensions) { disabled_exts_.clear(); filtered_exts_ = ""; if (!disabled_extensions.empty()) { @@ -105,11 +100,26 @@ const char* RealGLXApi::glXQueryExtensionsStringFn(Display* dpy, } DebugGLXApi::DebugGLXApi(GLXApi* glx_api) : glx_api_(glx_api) {} + DebugGLXApi::~DebugGLXApi() {} +void DebugGLXApi::SetDisabledExtensions( + const std::string& disabled_extensions) { + if (glx_api_) { + glx_api_->SetDisabledExtensions(disabled_extensions); + } +} + TraceGLXApi::~TraceGLXApi() { } +void TraceGLXApi::SetDisabledExtensions( + const std::string& disabled_extensions) { + if (glx_api_) { + glx_api_->SetDisabledExtensions(disabled_extensions); + } +} + bool GetGLWindowSystemBindingInfoGLX(GLWindowSystemBindingInfo* info) { Display* display = glXGetCurrentDisplay(); const int kDefaultScreen = 0; @@ -130,4 +140,14 @@ bool GetGLWindowSystemBindingInfoGLX(GLWindowSystemBindingInfo* info) { return true; } +void SetDisabledExtensionsGLX(const std::string& disabled_extensions) { + DCHECK(g_current_glx_context); + DCHECK(GLContext::TotalGLContexts() == 0); + g_current_glx_context->SetDisabledExtensions(disabled_extensions); +} + +bool InitializeExtensionSettingsOneOffGLX() { + return GLSurfaceGLX::InitializeExtensionSettingsOneOff(); +} + } // namespace gl |