summaryrefslogtreecommitdiffstats
path: root/src/core/compositor
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-22 13:51:45 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-01-28 19:03:39 +0000
commite6e66c8a2db056f583627d0fb0be6152733d295f (patch)
treede8c2df853593123cebc18a2a8117f96949be420 /src/core/compositor
parentd3a6b236949a0197f998eeb58145c208552de4fe (diff)
Adaptations for Chromium 71
Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/compositor')
-rw-r--r--src/core/compositor/compositor.cpp19
-rw-r--r--src/core/compositor/compositor.h1
-rw-r--r--src/core/compositor/compositor_resource_fence.cpp2
-rw-r--r--src/core/compositor/compositor_resource_tracker.cpp8
-rw-r--r--src/core/compositor/content_gpu_client_qt.cpp4
-rw-r--r--src/core/compositor/delegated_frame_node.cpp5
6 files changed, 20 insertions, 19 deletions
diff --git a/src/core/compositor/compositor.cpp b/src/core/compositor/compositor.cpp
index 258fb47b4..0660c155b 100644
--- a/src/core/compositor/compositor.cpp
+++ b/src/core/compositor/compositor.cpp
@@ -42,7 +42,9 @@
#include "compositor_resource_tracker.h"
#include "delegated_frame_node.h"
+#include "base/task/post_task.h"
#include "components/viz/common/resources/returned_resource.h"
+#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "services/viz/public/interfaces/compositing/compositor_frame_sink.mojom.h"
@@ -54,11 +56,10 @@ Compositor::Compositor(content::RenderWidgetHost *host)
{
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- base::SingleThreadTaskRunner *taskRunner =
- content::BrowserThread::GetTaskRunnerForThread(content::BrowserThread::UI).get();
+ m_taskRunner = base::CreateSingleThreadTaskRunnerWithTraits({content::BrowserThread::UI});
m_beginFrameSource =
std::make_unique<viz::DelayBasedBeginFrameSource>(
- std::make_unique<viz::DelayBasedTimeSource>(taskRunner),
+ std::make_unique<viz::DelayBasedTimeSource>(m_taskRunner.get()),
viz::BeginFrameSource::kNotRestartableId);
}
@@ -127,18 +128,16 @@ QSGNode *Compositor::updatePaintNode(QSGNode *oldNode, RenderWidgetHostViewQtDel
m_updatePaintNodeShouldCommit = false;
if (m_committedFrame.metadata.request_presentation_feedback)
- content::BrowserThread::PostTask(
- content::BrowserThread::UI, FROM_HERE,
- base::BindOnce(&Compositor::sendPresentationFeedback, m_weakPtrFactory.GetWeakPtr(), m_committedFrame.metadata.frame_token));
-
+ m_taskRunner->PostTask(FROM_HERE,
+ base::BindOnce(&Compositor::sendPresentationFeedback, m_weakPtrFactory.GetWeakPtr(),
+ m_committedFrame.metadata.frame_token));
m_resourceTracker->commitResources();
frameNode->commit(m_pendingFrame, m_committedFrame, m_resourceTracker.get(), viewDelegate);
m_committedFrame = std::move(m_pendingFrame);
m_pendingFrame = viz::CompositorFrame();
- content::BrowserThread::PostTask(
- content::BrowserThread::UI, FROM_HERE,
- base::BindOnce(&Compositor::notifyFrameCommitted, m_weakPtrFactory.GetWeakPtr()));
+ m_taskRunner->PostTask(FROM_HERE,
+ base::BindOnce(&Compositor::notifyFrameCommitted, m_weakPtrFactory.GetWeakPtr()));
return frameNode;
}
diff --git a/src/core/compositor/compositor.h b/src/core/compositor/compositor.h
index 5efe419cc..69f4a530c 100644
--- a/src/core/compositor/compositor.h
+++ b/src/core/compositor/compositor.h
@@ -118,6 +118,7 @@ private:
bool m_updatePaintNodeShouldCommit = false;
bool m_needsBeginFrames = false;
+ scoped_refptr<base::SingleThreadTaskRunner> m_taskRunner;
base::WeakPtrFactory<Compositor> m_weakPtrFactory{this};
DISALLOW_COPY_AND_ASSIGN(Compositor);
diff --git a/src/core/compositor/compositor_resource_fence.cpp b/src/core/compositor/compositor_resource_fence.cpp
index 4efed00d3..7fc5fbfb2 100644
--- a/src/core/compositor/compositor_resource_fence.cpp
+++ b/src/core/compositor/compositor_resource_fence.cpp
@@ -39,7 +39,7 @@
#include "compositor_resource_fence.h"
-#include <ui/gl/gl_context.h>
+#include "ui/gl/gl_context.h"
#include <QtGui/qopenglcontext.h>
diff --git a/src/core/compositor/compositor_resource_tracker.cpp b/src/core/compositor/compositor_resource_tracker.cpp
index 90f98191c..6530f3249 100644
--- a/src/core/compositor/compositor_resource_tracker.cpp
+++ b/src/core/compositor/compositor_resource_tracker.cpp
@@ -44,10 +44,12 @@
#include "web_engine_context.h"
#include "base/message_loop/message_loop.h"
+#include "base/task/post_task.h"
#include "components/viz/common/quads/compositor_frame.h"
#include "components/viz/common/resources/returned_resource.h"
#include "components/viz/service/display_embedder/server_shared_bitmap_manager.h"
#include "content/browser/browser_main_loop.h"
+#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/gpu/content_gpu_client.h"
#include "gpu/command_buffer/service/mailbox_manager.h"
@@ -181,7 +183,7 @@ quint32 CompositorResourceTracker::consumeMailbox(const gpu::MailboxHolder &mail
bool CompositorResourceTracker::scheduleUpdateMailbox(CompositorResource *resource)
{
#if QT_CONFIG(opengl)
- gpu::SyncPointManager *syncPointManager = WebEngineContext::current()->syncPointManager();
+ gpu::SyncPointManager *syncPointManager = WebEngineContext::syncPointManager();
DCHECK(syncPointManager);
return syncPointManager->WaitOutOfOrder(
resource->mailbox_holder.sync_token,
@@ -241,8 +243,8 @@ void CompositorResourceTracker::updateMailboxes(std::vector<CompositorResource *
void CompositorResourceTracker::scheduleRunSubmitCallback()
{
- content::BrowserThread::PostTask(
- content::BrowserThread::UI, FROM_HERE,
+ base::PostTaskWithTraits(
+ FROM_HERE, { content::BrowserThread::UI },
base::BindOnce(&CompositorResourceTracker::runSubmitCallback,
m_weakPtrFactory.GetWeakPtr()));
}
diff --git a/src/core/compositor/content_gpu_client_qt.cpp b/src/core/compositor/content_gpu_client_qt.cpp
index 0317b503a..f934979a0 100644
--- a/src/core/compositor/content_gpu_client_qt.cpp
+++ b/src/core/compositor/content_gpu_client_qt.cpp
@@ -53,9 +53,7 @@ ContentGpuClientQt::~ContentGpuClientQt()
gpu::SyncPointManager *ContentGpuClientQt::GetSyncPointManager()
{
- WebEngineContext *current = WebEngineContext::current();
- Q_ASSERT(current);
- return current->syncPointManager();
+ return WebEngineContext::syncPointManager();
}
} // namespace
diff --git a/src/core/compositor/delegated_frame_node.cpp b/src/core/compositor/delegated_frame_node.cpp
index a4fcf8daf..e2b6714a1 100644
--- a/src/core/compositor/delegated_frame_node.cpp
+++ b/src/core/compositor/delegated_frame_node.cpp
@@ -952,8 +952,9 @@ void DelegatedFrameNode::handleQuad(
MailboxTexture *texture = static_cast<MailboxTexture *>(
initAndHoldTexture(resource, quad->ShouldDrawWithBlending(), apiDelegate, GL_TEXTURE_EXTERNAL_OES));
- nodeHandler->setupStreamVideoNode(texture, toQt(squad->rect), toQt(squad->matrix.matrix()),
- currentLayerChain);
+ QMatrix4x4 qMatrix;
+ convertToQt(squad->matrix.matrix(), qMatrix);
+ nodeHandler->setupStreamVideoNode(texture, toQt(squad->rect), qMatrix, currentLayerChain);
break;
#endif // GL_OES_EGL_image_external
#endif // QT_NO_OPENGL