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

Unified Diff: cc/resources/resource_provider.cc

Issue 375303002: cc: Refactor ResourceProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove helper class move api impl to callee. Created 6 years, 5 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: cc/resources/resource_provider.cc
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
index cf79940c44f36c87384c99fc9730c20d19e9411c..3ebd54b5ffa0c8b40d0f1d9c0a2ef21541891eac 100644
--- a/cc/resources/resource_provider.cc
+++ b/cc/resources/resource_provider.cc
@@ -1015,30 +1015,6 @@ base::TimeTicks ResourceProvider::EstimatedUploadCompletionTime(
return gfx::FrameTime::Now() + upload_one_texture_time * total_uploads;
}
-void ResourceProvider::Flush() {
- DCHECK(thread_checker_.CalledOnValidThread());
- GLES2Interface* gl = ContextGL();
- if (gl)
- gl->Flush();
-}
-
-void ResourceProvider::Finish() {
- DCHECK(thread_checker_.CalledOnValidThread());
- GLES2Interface* gl = ContextGL();
- if (gl)
- gl->Finish();
-}
-
-bool ResourceProvider::ShallowFlushIfSupported() {
- DCHECK(thread_checker_.CalledOnValidThread());
- GLES2Interface* gl = ContextGL();
- if (!gl)
- return false;
-
- gl->ShallowFlushCHROMIUM();
- return true;
-}
-
ResourceProvider::Resource* ResourceProvider::GetResource(ResourceId id) {
DCHECK(thread_checker_.CalledOnValidThread());
ResourceMap::iterator it = resources_.find(id);
@@ -1229,16 +1205,6 @@ ResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware() {
resource_provider_->UnlockForWrite(resource_id_);
}
-ResourceProvider::ScopedGpuRaster::ScopedGpuRaster(
- ResourceProvider* resource_provider)
- : resource_provider_(resource_provider) {
- resource_provider_->BeginGpuRaster();
-}
-
-ResourceProvider::ScopedGpuRaster::~ScopedGpuRaster() {
- resource_provider_->EndGpuRaster();
-}
-
ResourceProvider::ResourceProvider(OutputSurface* output_surface,
SharedBitmapManager* shared_bitmap_manager,
int highp_threshold_min,
@@ -1331,7 +1297,7 @@ void ResourceProvider::CleanUpGLIfNeeded() {
texture_uploader_.reset();
texture_id_allocator_.reset();
buffer_id_allocator_.reset();
- Finish();
+ gl->Finish();
}
int ResourceProvider::CreateChild(const ReturnCallback& return_callback) {
@@ -2283,8 +2249,17 @@ class GrContext* ResourceProvider::GrContext() const {
return context_provider ? context_provider->GrContext() : NULL;
}
-void ResourceProvider::BeginGpuRaster() {
- GLES2Interface* gl = ContextGL();
+ScopedGpuRaster::ScopedGpuRaster(ResourceProvider* resource_provider)
danakj 2014/07/10 17:01:44 This class should take a ContextProvider* instead
sohanjg 2014/07/11 16:43:32 Done.
+ : resource_provider_(resource_provider) {
+ BeginGpuRaster();
+}
+
+ScopedGpuRaster::~ScopedGpuRaster() {
+ EndGpuRaster();
+}
+
+void ScopedGpuRaster::BeginGpuRaster() {
+ GLES2Interface* gl = resource_provider_->ContextGL();
DCHECK(gl);
// TODO(alokp): Use a trace macro to push/pop markers.
@@ -2292,16 +2267,16 @@ void ResourceProvider::BeginGpuRaster() {
// arguments even when tracing is disabled.
gl->PushGroupMarkerEXT(0, "GpuRasterization");
- class GrContext* gr_context = GrContext();
+ class GrContext* gr_context = resource_provider_->GrContext();
if (gr_context)
gr_context->resetContext();
}
-void ResourceProvider::EndGpuRaster() {
- GLES2Interface* gl = ContextGL();
+void ScopedGpuRaster::EndGpuRaster() {
+ GLES2Interface* gl = resource_provider_->ContextGL();
DCHECK(gl);
- class GrContext* gr_context = GrContext();
+ class GrContext* gr_context = resource_provider_->GrContext();
if (gr_context)
gr_context->flush();

Powered by Google App Engine
This is Rietveld 408576698