summaryrefslogtreecommitdiffstats
path: root/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch')
-rw-r--r--patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch106
1 files changed, 0 insertions, 106 deletions
diff --git a/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch b/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch
deleted file mode 100644
index febdf6aab..000000000
--- a/patches/chromium/0013-Add-seams-to-setup-GL-contexts-sharing-with-QtQuick.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-Date: Thu, 24 Oct 2013 18:26:59 +0200
-Subject: Add seams to setup GL contexts sharing with QtQuick.
-
-This will allow us to know right before the first GL context is
-instantiated by Chromium so that we can install those contexts to
-be shared with QtQuick GL contexts as well.
----
- content/common/gpu/gpu_channel_manager.cc | 8 +++++++-
- content/public/browser/content_browser_client.h | 5 +++++
- ui/gl/gl_share_group.cc | 3 +++
- ui/gl/gl_share_group.h | 7 +++++--
- 4 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc
-index 8b466bd..fe3f7b3 100644
---- a/content/common/gpu/gpu_channel_manager.cc
-+++ b/content/common/gpu/gpu_channel_manager.cc
-@@ -11,6 +11,7 @@
- #include "content/common/gpu/gpu_memory_manager.h"
- #include "content/common/gpu/gpu_messages.h"
- #include "content/common/gpu/sync_point_manager.h"
-+#include "content/public/browser/content_browser_client.h"
- #include "gpu/command_buffer/service/feature_info.h"
- #include "gpu/command_buffer/service/gpu_switches.h"
- #include "gpu/command_buffer/service/mailbox_manager.h"
-@@ -124,7 +125,12 @@ void GpuChannelManager::OnEstablishChannel(int client_id, bool share_context) {
- DCHECK(!mailbox_manager_.get());
- mailbox_manager_ = new gpu::gles2::MailboxManager;
- }
-- share_group = share_group_.get();
-+ // Qt: Ask the browser client at the top to manage the context sharing.
-+ // This can only work with --in-process-gpu or --single-process.
-+ if (GetContentClient()->browser() && GetContentClient()->browser()->GetInProcessGpuShareGroup())
-+ share_group = GetContentClient()->browser()->GetInProcessGpuShareGroup();
-+ else
-+ share_group = share_group_.get();
- mailbox_manager = mailbox_manager_.get();
- }
-
-diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index 8633105..639998f 100644
---- a/content/public/browser/content_browser_client.h
-+++ b/content/public/browser/content_browser_client.h
-@@ -45,6 +45,7 @@ class FilePath;
- }
-
- namespace gfx {
-+class GLShareGroup;
- class ImageSkia;
- }
-
-@@ -582,6 +583,10 @@ class CONTENT_EXPORT ContentBrowserClient {
- // information.
- virtual VibrationProvider* OverrideVibrationProvider();
-
-+ // Allow an embedder to provide a share group reimplementation to connect renderer
-+ // GL contexts with the root compositor.
-+ virtual gfx::GLShareGroup* GetInProcessGpuShareGroup() { return 0; }
-+
- #if defined(OS_POSIX) && !defined(OS_MACOSX)
- // Populates |mappings| with all files that need to be mapped before launching
- // a child process.
-diff --git a/ui/gl/gl_share_group.cc b/ui/gl/gl_share_group.cc
-index 8e8958b..347873d 100644
---- a/ui/gl/gl_share_group.cc
-+++ b/ui/gl/gl_share_group.cc
-@@ -18,6 +18,9 @@ GLShareGroup::GLShareGroup()
- }
-
- void GLShareGroup::AddContext(GLContext* context) {
-+ if (contexts_.empty())
-+ AboutToAddFirstContext();
-+
- contexts_.insert(context);
- }
-
-diff --git a/ui/gl/gl_share_group.h b/ui/gl/gl_share_group.h
-index 1deed63..f1b0369 100644
---- a/ui/gl/gl_share_group.h
-+++ b/ui/gl/gl_share_group.h
-@@ -31,7 +31,7 @@ class GL_EXPORT GLShareGroup : public base::RefCounted<GLShareGroup> {
-
- // Returns a pointer to any initialized context in the share group
- // or NULL if there are no initialized contexts in the share group.
-- GLContext* GetContext();
-+ virtual GLContext* GetContext();
-
- // Sets and returns the unique shared GL context. Used for context
- // virtualization.
-@@ -45,10 +45,13 @@ class GL_EXPORT GLShareGroup : public base::RefCounted<GLShareGroup> {
- int GetRendererID();
- #endif
-
-+ protected:
-+ virtual ~GLShareGroup();
-+ virtual void AboutToAddFirstContext() { }
-+
- private:
- friend class base::RefCounted<GLShareGroup>;
-
-- ~GLShareGroup();
-
- // References to GLContext are by raw pointer to avoid a reference count
- // cycle.