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

Unified Diff: content/common/gpu/client/context_provider_command_buffer.cc

Issue 2278283003: Refactor client visibility handling (Closed)
Patch Set: more fixes Created 4 years, 4 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
Index: content/common/gpu/client/context_provider_command_buffer.cc
diff --git a/content/common/gpu/client/context_provider_command_buffer.cc b/content/common/gpu/client/context_provider_command_buffer.cc
index 54c912326b9ed186839ebb3935e7b1abf96fd345..45c890854e095360e825875d8d6e93fb2f3c3847 100644
--- a/content/common/gpu/client/context_provider_command_buffer.cc
+++ b/content/common/gpu/client/context_provider_command_buffer.cc
@@ -15,6 +15,7 @@
#include "base/command_line.h"
#include "base/strings/stringprintf.h"
#include "base/threading/thread_task_runner_handle.h"
+#include "cc/output/context_cache_controller.h"
#include "cc/output/managed_memory_policy.h"
#include "content/common/gpu/client/command_buffer_metrics.h"
#include "gpu/command_buffer/client/gles2_cmd_helper.h"
@@ -225,6 +226,8 @@ bool ContextProviderCommandBuffer::BindToCurrentThread() {
// callback.
base::Unretained(this)));
+ cache_controller_.reset(new cc::ContextCacheController(gles2_impl_.get()));
+
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableGpuClientTracing)) {
// This wraps the real GLES2Implementation and we should always use this
@@ -274,6 +277,7 @@ class GrContext* ContextProviderCommandBuffer::GrContext() {
return gr_context_->get();
gr_context_.reset(new skia_bindings::GrContextForGLES2Interface(ContextGL()));
+ cache_controller_->SetGrContext(gr_context_->get());
// If GlContext is already lost, also abandon the new GrContext.
if (gr_context_->get() &&
@@ -283,6 +287,11 @@ class GrContext* ContextProviderCommandBuffer::GrContext() {
return gr_context_->get();
}
+cc::ContextCacheController* ContextProviderCommandBuffer::CacheController() {
+ DCHECK(context_thread_checker_.CalledOnValidThread());
+ return cache_controller_.get();
+}
+
void ContextProviderCommandBuffer::InvalidateGrContext(uint32_t state) {
if (gr_context_) {
DCHECK(bind_succeeded_);
@@ -309,13 +318,6 @@ gpu::Capabilities ContextProviderCommandBuffer::ContextCapabilities() {
return gles2_impl_->capabilities();
}
-void ContextProviderCommandBuffer::DeleteCachedResources() {
- DCHECK(context_thread_checker_.CalledOnValidThread());
-
- if (gr_context_)
- gr_context_->FreeGpuResources();
-}
-
void ContextProviderCommandBuffer::OnLostContext() {
DCHECK(context_thread_checker_.CalledOnValidThread());
« no previous file with comments | « content/common/gpu/client/context_provider_command_buffer.h ('k') | gpu/command_buffer/client/context_support.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698