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

Unified Diff: cc/output/output_surface.cc

Issue 1533773002: Delete CC. (Closed) Base URL: git@github.com:domokit/mojo.git@cl-2e
Patch Set: rebase Created 5 years 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/output/output_surface.h ('k') | cc/output/output_surface_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/output_surface.cc
diff --git a/cc/output/output_surface.cc b/cc/output/output_surface.cc
deleted file mode 100644
index 630019e61ecbb58f0ec0ca378cca740bb906417e..0000000000000000000000000000000000000000
--- a/cc/output/output_surface.cc
+++ /dev/null
@@ -1,250 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "cc/output/output_surface.h"
-
-#include "base/bind.h"
-#include "base/message_loop/message_loop.h"
-#include "base/trace_event/trace_event.h"
-#include "cc/output/output_surface_client.h"
-#include "gpu/GLES2/gl2extchromium.h"
-#include "gpu/command_buffer/client/gles2_interface.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/size.h"
-
-
-namespace cc {
-
-OutputSurface::OutputSurface(
- const scoped_refptr<ContextProvider>& context_provider,
- const scoped_refptr<ContextProvider>& worker_context_provider,
- scoped_ptr<SoftwareOutputDevice> software_device)
- : client_(NULL),
- context_provider_(context_provider),
- worker_context_provider_(worker_context_provider),
- software_device_(software_device.Pass()),
- device_scale_factor_(-1),
- external_stencil_test_enabled_(false),
- weak_ptr_factory_(this) {
-}
-
-OutputSurface::OutputSurface(
- const scoped_refptr<ContextProvider>& context_provider)
- : OutputSurface(context_provider, nullptr, nullptr) {
-}
-
-OutputSurface::OutputSurface(
- const scoped_refptr<ContextProvider>& context_provider,
- const scoped_refptr<ContextProvider>& worker_context_provider)
- : OutputSurface(context_provider, worker_context_provider, nullptr) {
-}
-
-OutputSurface::OutputSurface(scoped_ptr<SoftwareOutputDevice> software_device)
- : OutputSurface(nullptr, nullptr, software_device.Pass()) {
-}
-
-OutputSurface::OutputSurface(
- const scoped_refptr<ContextProvider>& context_provider,
- scoped_ptr<SoftwareOutputDevice> software_device)
- : OutputSurface(context_provider, nullptr, software_device.Pass()) {
-}
-
-void OutputSurface::CommitVSyncParameters(base::TimeTicks timebase,
- base::TimeDelta interval) {
- TRACE_EVENT2("cc",
- "OutputSurface::CommitVSyncParameters",
- "timebase",
- (timebase - base::TimeTicks()).InSecondsF(),
- "interval",
- interval.InSecondsF());
- client_->CommitVSyncParameters(timebase, interval);
-}
-
-// Forwarded to OutputSurfaceClient
-void OutputSurface::SetNeedsRedrawRect(const gfx::Rect& damage_rect) {
- TRACE_EVENT0("cc", "OutputSurface::SetNeedsRedrawRect");
- client_->SetNeedsRedrawRect(damage_rect);
-}
-
-void OutputSurface::ReclaimResources(const CompositorFrameAck* ack) {
- client_->ReclaimResources(ack);
-}
-
-void OutputSurface::DidLoseOutputSurface() {
- TRACE_EVENT0("cc", "OutputSurface::DidLoseOutputSurface");
- client_->DidLoseOutputSurface();
-}
-
-void OutputSurface::SetExternalStencilTest(bool enabled) {
- external_stencil_test_enabled_ = enabled;
-}
-
-void OutputSurface::SetExternalDrawConstraints(
- const gfx::Transform& transform,
- const gfx::Rect& viewport,
- const gfx::Rect& clip,
- const gfx::Rect& viewport_rect_for_tile_priority,
- const gfx::Transform& transform_for_tile_priority,
- bool resourceless_software_draw) {
- client_->SetExternalDrawConstraints(transform,
- viewport,
- clip,
- viewport_rect_for_tile_priority,
- transform_for_tile_priority,
- resourceless_software_draw);
-}
-
-OutputSurface::~OutputSurface() {
- ResetContext3d();
-}
-
-bool OutputSurface::HasExternalStencilTest() const {
- return external_stencil_test_enabled_;
-}
-
-bool OutputSurface::BindToClient(OutputSurfaceClient* client) {
- DCHECK(client);
- client_ = client;
- bool success = true;
-
- if (context_provider_.get()) {
- success = context_provider_->BindToCurrentThread();
- if (success)
- SetUpContext3d();
- }
-
- if (success && worker_context_provider_.get()) {
- success = worker_context_provider_->BindToCurrentThread();
- if (success) {
- worker_context_provider_->SetupLock();
- // The destructor resets the context lost callback, so base::Unretained
- // is safe, as long as the worker threads stop using the context before
- // the output surface is destroyed.
- worker_context_provider_->SetLostContextCallback(base::Bind(
- &OutputSurface::DidLoseOutputSurface, base::Unretained(this)));
- }
- }
-
- if (!success)
- client_ = NULL;
-
- return success;
-}
-
-bool OutputSurface::InitializeAndSetContext3d(
- scoped_refptr<ContextProvider> context_provider,
- scoped_refptr<ContextProvider> worker_context_provider) {
- DCHECK(!context_provider_.get());
- DCHECK(context_provider.get());
- DCHECK(client_);
-
- bool success = context_provider->BindToCurrentThread();
- if (success) {
- context_provider_ = context_provider;
- SetUpContext3d();
- }
- if (success && worker_context_provider.get()) {
- success = worker_context_provider->BindToCurrentThread();
- if (success) {
- worker_context_provider_ = worker_context_provider;
- // The destructor resets the context lost callback, so base::Unretained
- // is safe, as long as the worker threads stop using the context before
- // the output surface is destroyed.
- worker_context_provider_->SetLostContextCallback(base::Bind(
- &OutputSurface::DidLoseOutputSurface, base::Unretained(this)));
- }
- }
-
- if (!success)
- ResetContext3d();
- else
- client_->DeferredInitialize();
-
- return success;
-}
-
-void OutputSurface::ReleaseGL() {
- DCHECK(client_);
- DCHECK(context_provider_.get());
- client_->ReleaseGL();
- DCHECK(!context_provider_.get());
-}
-
-void OutputSurface::SetUpContext3d() {
- DCHECK(context_provider_.get());
- DCHECK(client_);
-
- context_provider_->SetLostContextCallback(
- base::Bind(&OutputSurface::DidLoseOutputSurface,
- base::Unretained(this)));
-}
-
-void OutputSurface::ReleaseContextProvider() {
- DCHECK(client_);
- DCHECK(context_provider_.get());
- ResetContext3d();
-}
-
-void OutputSurface::ResetContext3d() {
- if (context_provider_.get()) {
- context_provider_->SetLostContextCallback(
- ContextProvider::LostContextCallback());
- }
- if (worker_context_provider_.get()) {
- worker_context_provider_->SetLostContextCallback(
- ContextProvider::LostContextCallback());
- }
- context_provider_ = NULL;
- worker_context_provider_ = NULL;
-}
-
-void OutputSurface::EnsureBackbuffer() {
- if (software_device_)
- software_device_->EnsureBackbuffer();
-}
-
-void OutputSurface::DiscardBackbuffer() {
- if (context_provider_.get())
- context_provider_->ContextGL()->DiscardBackbufferCHROMIUM();
- if (software_device_)
- software_device_->DiscardBackbuffer();
-}
-
-void OutputSurface::Reshape(const gfx::Size& size, float scale_factor) {
- if (size == surface_size_ && scale_factor == device_scale_factor_)
- return;
-
- surface_size_ = size;
- device_scale_factor_ = scale_factor;
- if (context_provider_.get()) {
- context_provider_->ContextGL()->ResizeCHROMIUM(
- size.width(), size.height(), scale_factor);
- }
- if (software_device_)
- software_device_->Resize(size, scale_factor);
-}
-
-gfx::Size OutputSurface::SurfaceSize() const {
- return surface_size_;
-}
-
-void OutputSurface::BindFramebuffer() {
- DCHECK(context_provider_.get());
- context_provider_->ContextGL()->BindFramebuffer(GL_FRAMEBUFFER, 0);
-}
-
-void OutputSurface::PostSwapBuffersComplete() {
- base::MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&OutputSurface::OnSwapBuffersComplete,
- weak_ptr_factory_.GetWeakPtr()));
-}
-
-// We don't post tasks bound to the client directly since they might run
-// after the OutputSurface has been destroyed.
-void OutputSurface::OnSwapBuffersComplete() {
- client_->DidSwapBuffersComplete();
-}
-
-} // namespace cc
« no previous file with comments | « cc/output/output_surface.h ('k') | cc/output/output_surface_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698