From 911e3cb0d06010c9f17ac8ebe3a2155adab8e085 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 23 Nov 2022 15:37:52 +0100 Subject: FIXUP: Implement GLDisplayWGL Change-Id: I4196b23ed9b4b9a56e14af91a24baf05265a493d Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/444908 Reviewed-by: Peter Varga --- chromium/ui/gl/gl_display.cc | 10 ++++++++++ chromium/ui/gl/gl_utils.cc | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/chromium/ui/gl/gl_display.cc b/chromium/ui/gl/gl_display.cc index 57cd20bae9e..cb221a29446 100644 --- a/chromium/ui/gl/gl_display.cc +++ b/chromium/ui/gl/gl_display.cc @@ -686,6 +686,11 @@ GLDisplayPlatform* GLDisplay::GetAs() { type_checked = std::is_same::value; #endif // defined(USE_GLX) break; + case WGL: +#if BUILDFLAG(IS_WIN) + type_checked = std::is_same::value; +#endif // BUILDFLAG(IS_WIN) + break; } if (type_checked) return static_cast(this); @@ -703,6 +708,11 @@ template EXPORT_TEMPLATE_DEFINE(GL_EXPORT) GLDisplayX11* GLDisplay::GetAs(); #endif // defined(USE_GLX) +#if BUILDFLAG(IS_WIN) +template EXPORT_TEMPLATE_DEFINE(GL_EXPORT) + GLDisplayWGL* GLDisplay::GetAs(); +#endif // BUILDFLAG(IS_WIN) + #if defined(USE_EGL) GLDisplayEGL::EGLGpuSwitchingObserver::EGLGpuSwitchingObserver( EGLDisplay display) diff --git a/chromium/ui/gl/gl_utils.cc b/chromium/ui/gl/gl_utils.cc index 676ae237096..d7589bd0110 100644 --- a/chromium/ui/gl/gl_utils.cc +++ b/chromium/ui/gl/gl_utils.cc @@ -199,6 +199,11 @@ GLDisplay* GetDisplay(GpuPreference gpu_preference) { return GLDisplayManagerX11::GetInstance()->GetDisplay(gpu_preference); } #endif +#if BUILDFLAG(IS_WIN) + if (!GLDisplayManagerWGL::GetInstance()->IsEmpty()) { + return GLDisplayManagerWGL::GetInstance()->GetDisplay(gpu_preference); + } +#endif #if defined(USE_EGL) return GLDisplayManagerEGL::GetInstance()->GetDisplay(gpu_preference); #endif -- cgit v1.2.1