Index: cc/resources/resource_provider.cc |
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc |
index 79104d7ef309afa931109763680b84d7c015c269..60f140ad6c5b7a0576f2c188c69523e187ee54f8 100644 |
--- a/cc/resources/resource_provider.cc |
+++ b/cc/resources/resource_provider.cc |
@@ -1229,6 +1229,33 @@ ResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware() { |
resource_provider_->UnlockForWrite(resource_id_); |
} |
+ResourceProvider::ScopedGpuRaster::ScopedGpuRaster( |
+ ResourceProvider* resource_provider, |
+ const char* name) { |
+ gl_ = resource_provider->ContextGL(); |
+ DCHECK(gl_); |
+ gr_context_ = resource_provider->GrContext(); |
+ // TODO(alokp): Implement TestContextProvider::GrContext(). |
+ if (!gr_context_) |
+ return; |
reveman
2014/07/01 17:19:01
looks wrong. you still want to call PushGroupMarke
sohanjg
2014/07/02 07:40:37
Done.
|
+ |
+ BeginGpuRaster(name); |
+} |
+ |
+ResourceProvider::ScopedGpuRaster::~ScopedGpuRaster() { |
+ EndGpuRaster(); |
+} |
+ |
+void ResourceProvider::ScopedGpuRaster::BeginGpuRaster(const char* name) { |
+ gl_->PushGroupMarkerEXT(0, name); |
+ gr_context_->resetContext(); |
+} |
+ |
+void ResourceProvider::ScopedGpuRaster::EndGpuRaster() { |
+ gr_context_->flush(); |
reveman
2014/07/01 17:19:01
what if gr_context_ is NULL?
sohanjg
2014/07/02 07:40:37
Done.
|
+ gl_->PopGroupMarkerEXT(); |
+} |
+ |
ResourceProvider::ResourceProvider(OutputSurface* output_surface, |
SharedBitmapManager* shared_bitmap_manager, |
int highp_threshold_min, |