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

Side by Side Diff: content/renderer/gpu/renderer_compositor_frame_sink.cc

Issue 2349743004: cc: Remove things from OutputSurface and CompositorFrameSink. (Closed)
Patch Set: delete-stuff-cfs: comment-and-rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/gpu/renderer_compositor_frame_sink.h" 5 #include "content/renderer/gpu/renderer_compositor_frame_sink.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 16 matching lines...) Expand all
27 namespace content { 27 namespace content {
28 28
29 RendererCompositorFrameSink::RendererCompositorFrameSink( 29 RendererCompositorFrameSink::RendererCompositorFrameSink(
30 int32_t routing_id, 30 int32_t routing_id,
31 uint32_t compositor_frame_sink_id, 31 uint32_t compositor_frame_sink_id,
32 std::unique_ptr<cc::BeginFrameSource> begin_frame_source, 32 std::unique_ptr<cc::BeginFrameSource> begin_frame_source,
33 scoped_refptr<cc::ContextProvider> context_provider, 33 scoped_refptr<cc::ContextProvider> context_provider,
34 scoped_refptr<cc::ContextProvider> worker_context_provider, 34 scoped_refptr<cc::ContextProvider> worker_context_provider,
35 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue) 35 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue)
36 : CompositorFrameSink(std::move(context_provider), 36 : CompositorFrameSink(std::move(context_provider),
37 std::move(worker_context_provider), 37 std::move(worker_context_provider)),
38 nullptr),
39 compositor_frame_sink_id_(compositor_frame_sink_id), 38 compositor_frame_sink_id_(compositor_frame_sink_id),
40 compositor_frame_sink_filter_( 39 compositor_frame_sink_filter_(
41 RenderThreadImpl::current()->compositor_message_filter()), 40 RenderThreadImpl::current()->compositor_message_filter()),
42 message_sender_(RenderThreadImpl::current()->sync_message_filter()), 41 message_sender_(RenderThreadImpl::current()->sync_message_filter()),
43 frame_swap_message_queue_(swap_frame_message_queue), 42 frame_swap_message_queue_(swap_frame_message_queue),
44 begin_frame_source_(std::move(begin_frame_source)), 43 begin_frame_source_(std::move(begin_frame_source)),
45 routing_id_(routing_id) { 44 routing_id_(routing_id) {
46 DCHECK(compositor_frame_sink_filter_); 45 DCHECK(compositor_frame_sink_filter_);
47 DCHECK(frame_swap_message_queue_); 46 DCHECK(frame_swap_message_queue_);
48 DCHECK(message_sender_); 47 DCHECK(message_sender_);
49 DCHECK(begin_frame_source_); 48 DCHECK(begin_frame_source_);
50 capabilities_.delegated_rendering = true;
51 } 49 }
52 50
53 RendererCompositorFrameSink::RendererCompositorFrameSink( 51 RendererCompositorFrameSink::RendererCompositorFrameSink(
54 int32_t routing_id, 52 int32_t routing_id,
55 uint32_t compositor_frame_sink_id, 53 uint32_t compositor_frame_sink_id,
56 std::unique_ptr<cc::BeginFrameSource> begin_frame_source, 54 std::unique_ptr<cc::BeginFrameSource> begin_frame_source,
57 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider, 55 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider,
58 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue) 56 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue)
59 : CompositorFrameSink(std::move(vulkan_context_provider)), 57 : CompositorFrameSink(std::move(vulkan_context_provider)),
60 compositor_frame_sink_id_(compositor_frame_sink_id), 58 compositor_frame_sink_id_(compositor_frame_sink_id),
61 compositor_frame_sink_filter_( 59 compositor_frame_sink_filter_(
62 RenderThreadImpl::current()->compositor_message_filter()), 60 RenderThreadImpl::current()->compositor_message_filter()),
63 message_sender_(RenderThreadImpl::current()->sync_message_filter()), 61 message_sender_(RenderThreadImpl::current()->sync_message_filter()),
64 frame_swap_message_queue_(swap_frame_message_queue), 62 frame_swap_message_queue_(swap_frame_message_queue),
65 begin_frame_source_(std::move(begin_frame_source)), 63 begin_frame_source_(std::move(begin_frame_source)),
66 routing_id_(routing_id) { 64 routing_id_(routing_id) {
67 DCHECK(compositor_frame_sink_filter_); 65 DCHECK(compositor_frame_sink_filter_);
68 DCHECK(frame_swap_message_queue_); 66 DCHECK(frame_swap_message_queue_);
69 DCHECK(message_sender_); 67 DCHECK(message_sender_);
70 DCHECK(begin_frame_source_); 68 DCHECK(begin_frame_source_);
71 capabilities_.delegated_rendering = true;
72 } 69 }
73 70
74 RendererCompositorFrameSink::~RendererCompositorFrameSink() = default; 71 RendererCompositorFrameSink::~RendererCompositorFrameSink() = default;
75 72
76 bool RendererCompositorFrameSink::BindToClient( 73 bool RendererCompositorFrameSink::BindToClient(
77 cc::CompositorFrameSinkClient* client) { 74 cc::CompositorFrameSinkClient* client) {
78 if (!cc::CompositorFrameSink::BindToClient(client)) 75 if (!cc::CompositorFrameSink::BindToClient(client))
79 return false; 76 return false;
80 77
81 DCHECK(begin_frame_source_); 78 DCHECK(begin_frame_source_);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 frame_swap_message_queue_->DrainMessages(&messages); 113 frame_swap_message_queue_->DrainMessages(&messages);
117 FrameSwapMessageQueue::TransferMessages(&messages, 114 FrameSwapMessageQueue::TransferMessages(&messages,
118 &messages_to_deliver_with_frame); 115 &messages_to_deliver_with_frame);
119 Send(new ViewHostMsg_SwapCompositorFrame(routing_id_, 116 Send(new ViewHostMsg_SwapCompositorFrame(routing_id_,
120 compositor_frame_sink_id_, frame, 117 compositor_frame_sink_id_, frame,
121 messages_to_deliver_with_frame)); 118 messages_to_deliver_with_frame));
122 // ~send_message_scope. 119 // ~send_message_scope.
123 } 120 }
124 } 121 }
125 122
126 void RendererCompositorFrameSink::BindFramebuffer() {
127 // This is a delegating output surface, no framebuffer/direct drawing support.
128 NOTREACHED();
129 }
130
131 uint32_t RendererCompositorFrameSink::GetFramebufferCopyTextureFormat() {
132 // This is a delegating output surface, no framebuffer/direct drawing support.
133 NOTREACHED();
134 return 0;
135 }
136
137 void RendererCompositorFrameSink::OnMessageReceived( 123 void RendererCompositorFrameSink::OnMessageReceived(
138 const IPC::Message& message) { 124 const IPC::Message& message) {
139 DCHECK(client_thread_checker_.CalledOnValidThread()); 125 DCHECK(client_thread_checker_.CalledOnValidThread());
140 if (!HasClient()) 126 if (!HasClient())
141 return; 127 return;
142 IPC_BEGIN_MESSAGE_MAP(RendererCompositorFrameSink, message) 128 IPC_BEGIN_MESSAGE_MAP(RendererCompositorFrameSink, message)
143 IPC_MESSAGE_HANDLER(ViewMsg_ReclaimCompositorResources, 129 IPC_MESSAGE_HANDLER(ViewMsg_ReclaimCompositorResources,
144 OnReclaimCompositorResources); 130 OnReclaimCompositorResources);
145 IPC_END_MESSAGE_MAP() 131 IPC_END_MESSAGE_MAP()
146 } 132 }
147 133
148 void RendererCompositorFrameSink::OnReclaimCompositorResources( 134 void RendererCompositorFrameSink::OnReclaimCompositorResources(
149 uint32_t compositor_frame_sink_id, 135 uint32_t compositor_frame_sink_id,
150 bool is_swap_ack, 136 bool is_swap_ack,
151 const cc::ReturnedResourceArray& resources) { 137 const cc::ReturnedResourceArray& resources) {
152 // Ignore message if it's a stale one coming from a different output surface 138 // Ignore message if it's a stale one coming from a different output surface
153 // (e.g. after a lost context). 139 // (e.g. after a lost context).
154 if (compositor_frame_sink_id != compositor_frame_sink_id_) 140 if (compositor_frame_sink_id != compositor_frame_sink_id_)
155 return; 141 return;
156 client_->ReclaimResources(resources); 142 client_->ReclaimResources(resources);
157 if (is_swap_ack) 143 if (is_swap_ack)
158 client_->DidSwapBuffersComplete(); 144 client_->DidSwapBuffersComplete();
159 } 145 }
160 146
161 bool RendererCompositorFrameSink::Send(IPC::Message* message) { 147 bool RendererCompositorFrameSink::Send(IPC::Message* message) {
162 return message_sender_->Send(message); 148 return message_sender_->Send(message);
163 } 149 }
164 150
165 } // namespace content 151 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/renderer_compositor_frame_sink.h ('k') | content/test/layouttest_support.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698