Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: content/renderer/gpu/renderer_compositor_frame_sink.cc

Issue 2337913003: Fork cc::OutputSurface into cc::CompositorFrameSink. (Closed)
Patch Set: cfsfork: android-vulkan Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/gpu/renderer_compositor_frame_sink.h ('k') | content/renderer/layout_test_dependencies.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/gpu/renderer_compositor_frame_sink.cc
diff --git a/content/renderer/gpu/compositor_output_surface.cc b/content/renderer/gpu/renderer_compositor_frame_sink.cc
similarity index 61%
rename from content/renderer/gpu/compositor_output_surface.cc
rename to content/renderer/gpu/renderer_compositor_frame_sink.cc
index bc5ec31812fa6073190e193af1f10ce5ba4803e1..4cfbdfc01e775f72f73d924ec91029753f1876b0 100644
--- a/content/renderer/gpu/compositor_output_surface.cc
+++ b/content/renderer/gpu/renderer_compositor_frame_sink.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/gpu/compositor_output_surface.h"
+#include "content/renderer/gpu/renderer_compositor_frame_sink.h"
#include <utility>
@@ -12,8 +12,8 @@
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "cc/output/compositor_frame.h"
+#include "cc/output/compositor_frame_sink_client.h"
#include "cc/output/managed_memory_policy.h"
-#include "cc/output/output_surface_client.h"
#include "content/common/gpu/client/context_provider_command_buffer.h"
#include "content/common/view_messages.h"
#include "content/public/common/content_switches.h"
@@ -26,88 +26,87 @@
namespace content {
-CompositorOutputSurface::CompositorOutputSurface(
+RendererCompositorFrameSink::RendererCompositorFrameSink(
int32_t routing_id,
- uint32_t output_surface_id,
+ uint32_t compositor_frame_sink_id,
std::unique_ptr<cc::BeginFrameSource> begin_frame_source,
scoped_refptr<cc::ContextProvider> context_provider,
scoped_refptr<cc::ContextProvider> worker_context_provider,
scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue)
- : OutputSurface(std::move(context_provider),
- std::move(worker_context_provider),
- nullptr),
- output_surface_id_(output_surface_id),
- output_surface_filter_(
+ : CompositorFrameSink(std::move(context_provider),
+ std::move(worker_context_provider),
+ nullptr),
+ compositor_frame_sink_id_(compositor_frame_sink_id),
+ compositor_frame_sink_filter_(
RenderThreadImpl::current()->compositor_message_filter()),
message_sender_(RenderThreadImpl::current()->sync_message_filter()),
frame_swap_message_queue_(swap_frame_message_queue),
begin_frame_source_(std::move(begin_frame_source)),
routing_id_(routing_id) {
- DCHECK(output_surface_filter_);
+ DCHECK(compositor_frame_sink_filter_);
DCHECK(frame_swap_message_queue_);
DCHECK(message_sender_);
DCHECK(begin_frame_source_);
capabilities_.delegated_rendering = true;
}
-CompositorOutputSurface::CompositorOutputSurface(
+RendererCompositorFrameSink::RendererCompositorFrameSink(
int32_t routing_id,
- uint32_t output_surface_id,
+ uint32_t compositor_frame_sink_id,
std::unique_ptr<cc::BeginFrameSource> begin_frame_source,
scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider,
scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue)
- : OutputSurface(std::move(vulkan_context_provider)),
- output_surface_id_(output_surface_id),
- output_surface_filter_(
+ : CompositorFrameSink(std::move(vulkan_context_provider)),
+ compositor_frame_sink_id_(compositor_frame_sink_id),
+ compositor_frame_sink_filter_(
RenderThreadImpl::current()->compositor_message_filter()),
message_sender_(RenderThreadImpl::current()->sync_message_filter()),
frame_swap_message_queue_(swap_frame_message_queue),
begin_frame_source_(std::move(begin_frame_source)),
routing_id_(routing_id) {
- DCHECK(output_surface_filter_);
+ DCHECK(compositor_frame_sink_filter_);
DCHECK(frame_swap_message_queue_);
DCHECK(message_sender_);
DCHECK(begin_frame_source_);
capabilities_.delegated_rendering = true;
}
-CompositorOutputSurface::~CompositorOutputSurface() = default;
+RendererCompositorFrameSink::~RendererCompositorFrameSink() = default;
-bool CompositorOutputSurface::BindToClient(
- cc::OutputSurfaceClient* client) {
- if (!cc::OutputSurface::BindToClient(client))
+bool RendererCompositorFrameSink::BindToClient(
+ cc::CompositorFrameSinkClient* client) {
+ if (!cc::CompositorFrameSink::BindToClient(client))
return false;
DCHECK(begin_frame_source_);
client_->SetBeginFrameSource(begin_frame_source_.get());
- output_surface_proxy_ = new CompositorOutputSurfaceProxy(this);
- output_surface_filter_handler_ =
- base::Bind(&CompositorOutputSurfaceProxy::OnMessageReceived,
- output_surface_proxy_);
- output_surface_filter_->AddHandlerOnCompositorThread(
- routing_id_,
- output_surface_filter_handler_);
+ compositor_frame_sink_proxy_ = new RendererCompositorFrameSinkProxy(this);
+ compositor_frame_sink_filter_handler_ =
+ base::Bind(&RendererCompositorFrameSinkProxy::OnMessageReceived,
+ compositor_frame_sink_proxy_);
+ compositor_frame_sink_filter_->AddHandlerOnCompositorThread(
+ routing_id_, compositor_frame_sink_filter_handler_);
return true;
}
-void CompositorOutputSurface::DetachFromClient() {
+void RendererCompositorFrameSink::DetachFromClient() {
if (!HasClient())
return;
client_->SetBeginFrameSource(nullptr);
// Destroy the begin frame source on the same thread it was bound on.
- // The OutputSurface itself is destroyed on the main thread.
+ // The CompositorFrameSink itself is destroyed on the main thread.
begin_frame_source_ = nullptr;
- if (output_surface_proxy_) {
- output_surface_proxy_->ClearOutputSurface();
- output_surface_filter_->RemoveHandlerOnCompositorThread(
- routing_id_, output_surface_filter_handler_);
+ if (compositor_frame_sink_proxy_) {
+ compositor_frame_sink_proxy_->ClearCompositorFrameSink();
+ compositor_frame_sink_filter_->RemoveHandlerOnCompositorThread(
+ routing_id_, compositor_frame_sink_filter_handler_);
}
- cc::OutputSurface::DetachFromClient();
+ cc::CompositorFrameSink::DetachFromClient();
}
-void CompositorOutputSurface::SwapBuffers(cc::CompositorFrame frame) {
+void RendererCompositorFrameSink::SwapBuffers(cc::CompositorFrame frame) {
{
std::unique_ptr<FrameSwapMessageQueue::SendMessageScope>
send_message_scope =
@@ -117,48 +116,49 @@ void CompositorOutputSurface::SwapBuffers(cc::CompositorFrame frame) {
frame_swap_message_queue_->DrainMessages(&messages);
FrameSwapMessageQueue::TransferMessages(&messages,
&messages_to_deliver_with_frame);
- Send(new ViewHostMsg_SwapCompositorFrame(routing_id_, output_surface_id_,
- frame,
+ Send(new ViewHostMsg_SwapCompositorFrame(routing_id_,
+ compositor_frame_sink_id_, frame,
messages_to_deliver_with_frame));
// ~send_message_scope.
}
}
-void CompositorOutputSurface::BindFramebuffer() {
+void RendererCompositorFrameSink::BindFramebuffer() {
// This is a delegating output surface, no framebuffer/direct drawing support.
NOTREACHED();
}
-uint32_t CompositorOutputSurface::GetFramebufferCopyTextureFormat() {
+uint32_t RendererCompositorFrameSink::GetFramebufferCopyTextureFormat() {
// This is a delegating output surface, no framebuffer/direct drawing support.
NOTREACHED();
return 0;
}
-void CompositorOutputSurface::OnMessageReceived(const IPC::Message& message) {
+void RendererCompositorFrameSink::OnMessageReceived(
+ const IPC::Message& message) {
DCHECK(client_thread_checker_.CalledOnValidThread());
if (!HasClient())
return;
- IPC_BEGIN_MESSAGE_MAP(CompositorOutputSurface, message)
+ IPC_BEGIN_MESSAGE_MAP(RendererCompositorFrameSink, message)
IPC_MESSAGE_HANDLER(ViewMsg_ReclaimCompositorResources,
OnReclaimCompositorResources);
IPC_END_MESSAGE_MAP()
}
-void CompositorOutputSurface::OnReclaimCompositorResources(
- uint32_t output_surface_id,
+void RendererCompositorFrameSink::OnReclaimCompositorResources(
+ uint32_t compositor_frame_sink_id,
bool is_swap_ack,
const cc::ReturnedResourceArray& resources) {
// Ignore message if it's a stale one coming from a different output surface
// (e.g. after a lost context).
- if (output_surface_id != output_surface_id_)
+ if (compositor_frame_sink_id != compositor_frame_sink_id_)
return;
client_->ReclaimResources(resources);
if (is_swap_ack)
client_->DidSwapBuffersComplete();
}
-bool CompositorOutputSurface::Send(IPC::Message* message) {
+bool RendererCompositorFrameSink::Send(IPC::Message* message) {
return message_sender_->Send(message);
}
« no previous file with comments | « content/renderer/gpu/renderer_compositor_frame_sink.h ('k') | content/renderer/layout_test_dependencies.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698