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

Unified Diff: webkit/gpu/context_provider_in_process.cc

Issue 16046003: Move webkit/gpu into webkit/common/gpu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix includes in content/common/gpu/client/gl_helper_* Created 7 years, 7 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 | « webkit/gpu/context_provider_in_process.h ('k') | webkit/gpu/gl_bindings_skia_cmd_buffer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/gpu/context_provider_in_process.cc
diff --git a/webkit/gpu/context_provider_in_process.cc b/webkit/gpu/context_provider_in_process.cc
deleted file mode 100644
index a8855ab41a545795fae252807835bd44a212e6c7..0000000000000000000000000000000000000000
--- a/webkit/gpu/context_provider_in_process.cc
+++ /dev/null
@@ -1,134 +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 "webkit/gpu/context_provider_in_process.h"
-
-#include "webkit/gpu/grcontext_for_webgraphicscontext3d.h"
-
-namespace webkit {
-namespace gpu {
-
-class ContextProviderInProcess::LostContextCallbackProxy
- : public WebKit::WebGraphicsContext3D::WebGraphicsContextLostCallback {
- public:
- explicit LostContextCallbackProxy(ContextProviderInProcess* provider)
- : provider_(provider) {
- provider_->context3d_->setContextLostCallback(this);
- }
-
- virtual void onContextLost() {
- provider_->OnLostContextInternal();
- }
-
- private:
- ContextProviderInProcess* provider_;
-};
-
-class ContextProviderInProcess::MemoryAllocationCallbackProxy
- : public WebKit::WebGraphicsContext3D::
- WebGraphicsMemoryAllocationChangedCallbackCHROMIUM {
- public:
- explicit MemoryAllocationCallbackProxy(ContextProviderInProcess* provider)
- : provider_(provider) {
- provider_->context3d_->setMemoryAllocationChangedCallbackCHROMIUM(this);
- }
-
- virtual void onMemoryAllocationChanged(
- WebKit::WebGraphicsMemoryAllocation alloc) {
- provider_->OnMemoryAllocationChanged(!!alloc.gpuResourceSizeInBytes);
- }
-
- private:
- ContextProviderInProcess* provider_;
-};
-
-ContextProviderInProcess::ContextProviderInProcess()
- : destroyed_(false) {
-}
-
-ContextProviderInProcess::~ContextProviderInProcess() {}
-
-bool ContextProviderInProcess::InitializeOnMainThread() {
- DCHECK(!context3d_);
-
- WebKit::WebGraphicsContext3D::Attributes attributes;
- attributes.depth = false;
- attributes.stencil = true;
- attributes.antialias = false;
- attributes.shareResources = true;
- attributes.noAutomaticFlushes = true;
-
- using webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl;
- context3d_.reset(
- WebGraphicsContext3DInProcessCommandBufferImpl::CreateOffscreenContext(
- attributes));
-
- return context3d_;
-}
-
-bool ContextProviderInProcess::BindToCurrentThread() {
- DCHECK(context3d_);
-
- if (lost_context_callback_proxy_)
- return true;
-
- if (!context3d_->makeContextCurrent())
- return false;
-
- lost_context_callback_proxy_.reset(new LostContextCallbackProxy(this));
- return true;
-}
-
-WebKit::WebGraphicsContext3D* ContextProviderInProcess::Context3d() {
- DCHECK(context3d_);
- DCHECK(lost_context_callback_proxy_); // Is bound to thread.
-
- return context3d_.get();
-}
-
-class GrContext* ContextProviderInProcess::GrContext() {
- DCHECK(context3d_);
- DCHECK(lost_context_callback_proxy_); // Is bound to thread.
-
- if (gr_context_)
- return gr_context_->get();
-
- gr_context_.reset(
- new webkit::gpu::GrContextForWebGraphicsContext3D(context3d_.get()));
- memory_allocation_callback_proxy_.reset(
- new MemoryAllocationCallbackProxy(this));
- return gr_context_->get();
-}
-
-void ContextProviderInProcess::VerifyContexts() {
- DCHECK(context3d_);
- DCHECK(lost_context_callback_proxy_); // Is bound to thread.
-
- if (context3d_->isContextLost())
- OnLostContextInternal();
-}
-
-void ContextProviderInProcess::OnLostContextInternal() {
- {
- base::AutoLock lock(destroyed_lock_);
- if (destroyed_)
- return;
- destroyed_ = true;
- }
- OnLostContext();
-}
-
-bool ContextProviderInProcess::DestroyedOnMainThread() {
- base::AutoLock lock(destroyed_lock_);
- return destroyed_;
-}
-
-void ContextProviderInProcess::OnMemoryAllocationChanged(
- bool nonzero_allocation) {
- if (gr_context_)
- gr_context_->SetMemoryLimit(nonzero_allocation);
-}
-
-} // namespace gpu
-} // namespace webkit
« no previous file with comments | « webkit/gpu/context_provider_in_process.h ('k') | webkit/gpu/gl_bindings_skia_cmd_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698