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

Unified Diff: cc/surfaces/direct_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 | « cc/surfaces/direct_compositor_frame_sink.h ('k') | cc/surfaces/direct_compositor_frame_sink_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/surfaces/direct_compositor_frame_sink.cc
diff --git a/cc/surfaces/surface_display_output_surface.cc b/cc/surfaces/direct_compositor_frame_sink.cc
similarity index 72%
rename from cc/surfaces/surface_display_output_surface.cc
rename to cc/surfaces/direct_compositor_frame_sink.cc
index d1bb3cdf7398ecd60d88d781f75c32efe96723c5..7d79f442a67e5ebb2d9eec74dc49a3fbc302824d 100644
--- a/cc/surfaces/surface_display_output_surface.cc
+++ b/cc/surfaces/direct_compositor_frame_sink.cc
@@ -2,10 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "cc/surfaces/surface_display_output_surface.h"
+#include "cc/surfaces/direct_compositor_frame_sink.h"
#include "base/bind.h"
#include "cc/output/compositor_frame.h"
+#include "cc/output/compositor_frame_sink_client.h"
#include "cc/surfaces/display.h"
#include "cc/surfaces/surface.h"
#include "cc/surfaces/surface_id_allocator.h"
@@ -13,15 +14,15 @@
namespace cc {
-SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
+DirectCompositorFrameSink::DirectCompositorFrameSink(
SurfaceManager* surface_manager,
SurfaceIdAllocator* surface_id_allocator,
Display* display,
scoped_refptr<ContextProvider> context_provider,
scoped_refptr<ContextProvider> worker_context_provider)
- : OutputSurface(std::move(context_provider),
- std::move(worker_context_provider),
- nullptr),
+ : CompositorFrameSink(std::move(context_provider),
+ std::move(worker_context_provider),
+ nullptr),
surface_manager_(surface_manager),
surface_id_allocator_(surface_id_allocator),
display_(display),
@@ -31,18 +32,18 @@ SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
capabilities_.adjust_deadline_for_parent = true;
capabilities_.can_force_reclaim_resources = true;
- // Display and SurfaceDisplayOutputSurface share a GL context, so sync
+ // Display and DirectCompositorFrameSink share a GL context, so sync
// points aren't needed when passing resources between them.
capabilities_.delegated_sync_points_required = false;
factory_.set_needs_sync_points(false);
}
-SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
+DirectCompositorFrameSink::DirectCompositorFrameSink(
SurfaceManager* surface_manager,
SurfaceIdAllocator* surface_id_allocator,
Display* display,
scoped_refptr<VulkanContextProvider> vulkan_context_provider)
- : OutputSurface(std::move(vulkan_context_provider)),
+ : CompositorFrameSink(std::move(vulkan_context_provider)),
surface_manager_(surface_manager),
surface_id_allocator_(surface_id_allocator),
display_(display),
@@ -53,13 +54,13 @@ SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
capabilities_.can_force_reclaim_resources = true;
}
-SurfaceDisplayOutputSurface::~SurfaceDisplayOutputSurface() {
+DirectCompositorFrameSink::~DirectCompositorFrameSink() {
DCHECK(thread_checker_.CalledOnValidThread());
if (HasClient())
DetachFromClient();
}
-void SurfaceDisplayOutputSurface::SwapBuffers(CompositorFrame frame) {
+void DirectCompositorFrameSink::SwapBuffers(CompositorFrame frame) {
gfx::Size frame_size =
frame.delegated_frame_data->render_pass_list.back()->output_rect.size();
if (frame_size.IsEmpty() || frame_size != last_swap_frame_size_) {
@@ -75,17 +76,18 @@ void SurfaceDisplayOutputSurface::SwapBuffers(CompositorFrame frame) {
factory_.SubmitCompositorFrame(
delegated_surface_id_, std::move(frame),
- base::Bind(&SurfaceDisplayOutputSurface::DidDrawCallback,
+ base::Bind(&DirectCompositorFrameSink::DidDrawCallback,
base::Unretained(this)));
}
-bool SurfaceDisplayOutputSurface::BindToClient(OutputSurfaceClient* client) {
+bool DirectCompositorFrameSink::BindToClient(
+ CompositorFrameSinkClient* client) {
DCHECK(thread_checker_.CalledOnValidThread());
surface_manager_->RegisterSurfaceFactoryClient(
surface_id_allocator_->client_id(), this);
- if (!OutputSurface::BindToClient(client))
+ if (!CompositorFrameSink::BindToClient(client))
return false;
// We want the Display's output surface to hear about lost context, and since
@@ -101,14 +103,14 @@ bool SurfaceDisplayOutputSurface::BindToClient(OutputSurfaceClient* client) {
return true;
}
-void SurfaceDisplayOutputSurface::ForceReclaimResources() {
+void DirectCompositorFrameSink::ForceReclaimResources() {
if (!delegated_surface_id_.is_null()) {
factory_.SubmitCompositorFrame(delegated_surface_id_, CompositorFrame(),
SurfaceFactory::DrawCallback());
}
}
-void SurfaceDisplayOutputSurface::DetachFromClient() {
+void DirectCompositorFrameSink::DetachFromClient() {
DCHECK(HasClient());
// Unregister the SurfaceFactoryClient here instead of the dtor so that only
// one client is alive for this namespace at any given time.
@@ -117,52 +119,52 @@ void SurfaceDisplayOutputSurface::DetachFromClient() {
if (!delegated_surface_id_.is_null())
factory_.Destroy(delegated_surface_id_);
- OutputSurface::DetachFromClient();
+ CompositorFrameSink::DetachFromClient();
}
-void SurfaceDisplayOutputSurface::BindFramebuffer() {
- // This is a delegating output surface, no framebuffer/direct drawing support.
+void DirectCompositorFrameSink::BindFramebuffer() {
+ // This is a CompositorFrameSink, no framebuffer/direct drawing support.
NOTREACHED();
}
-uint32_t SurfaceDisplayOutputSurface::GetFramebufferCopyTextureFormat() {
- // This is a delegating output surface, no framebuffer/direct drawing support.
+uint32_t DirectCompositorFrameSink::GetFramebufferCopyTextureFormat() {
+ // This is a CompositorFrameSink, no framebuffer/direct drawing support.
NOTREACHED();
return 0;
}
-void SurfaceDisplayOutputSurface::ReturnResources(
+void DirectCompositorFrameSink::ReturnResources(
const ReturnedResourceArray& resources) {
if (client_)
client_->ReclaimResources(resources);
}
-void SurfaceDisplayOutputSurface::SetBeginFrameSource(
+void DirectCompositorFrameSink::SetBeginFrameSource(
BeginFrameSource* begin_frame_source) {
DCHECK(client_);
client_->SetBeginFrameSource(begin_frame_source);
}
-void SurfaceDisplayOutputSurface::DisplayOutputSurfaceLost() {
- output_surface_lost_ = true;
- client_->DidLoseOutputSurface();
+void DirectCompositorFrameSink::DisplayOutputSurfaceLost() {
+ is_lost_ = true;
+ client_->DidLoseCompositorFrameSink();
}
-void SurfaceDisplayOutputSurface::DisplayWillDrawAndSwap(
+void DirectCompositorFrameSink::DisplayWillDrawAndSwap(
bool will_draw_and_swap,
const RenderPassList& render_passes) {
// This notification is not relevant to our client outside of tests.
}
-void SurfaceDisplayOutputSurface::DisplayDidDrawAndSwap() {
+void DirectCompositorFrameSink::DisplayDidDrawAndSwap() {
// This notification is not relevant to our client outside of tests. We
// unblock the client from DidDrawCallback() when the surface is going to
// be drawn.
}
-void SurfaceDisplayOutputSurface::DidDrawCallback() {
+void DirectCompositorFrameSink::DidDrawCallback() {
// TODO(danakj): Why the lost check?
- if (!output_surface_lost_)
+ if (!is_lost_)
client_->DidSwapBuffersComplete();
}
« no previous file with comments | « cc/surfaces/direct_compositor_frame_sink.h ('k') | cc/surfaces/direct_compositor_frame_sink_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698