| Index: cc/resources/resource_provider.h
|
| diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h
|
| index d5b57127c205db172299d6cc7048e747779e56a8..4be2ff3c2bd46b35089c7de9bbe329028f89df79 100644
|
| --- a/cc/resources/resource_provider.h
|
| +++ b/cc/resources/resource_provider.h
|
| @@ -33,6 +33,7 @@
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
| #include "ui/gfx/geometry/size.h"
|
| +#include "ui/gfx/gpu_memory_buffer.h"
|
|
|
| class GrContext;
|
|
|
| @@ -331,6 +332,42 @@ class CC_EXPORT ResourceProvider {
|
| DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer);
|
| };
|
|
|
| + class CC_EXPORT ScopedWriteLockGpuMemoryBufferForThread {
|
| + public:
|
| + ScopedWriteLockGpuMemoryBufferForThread(ResourceProvider* resource_provider,
|
| + ResourceId resource_id);
|
| + ~ScopedWriteLockGpuMemoryBufferForThread();
|
| +
|
| + gfx::GpuMemoryBuffer* GetGpuMemoryBuffer();
|
| + void CreateAndBindImage();
|
| + ContextProvider* worker_context() { return worker_context_; }
|
| + void BeginCopyTexture();
|
| + void EndCopyTexture();
|
| + ResourceFormat format() { return format_; }
|
| + gfx::Size size() { return size_; }
|
| + unsigned source_gl_id() { return source_gl_id_; }
|
| +
|
| + private:
|
| + ResourceProvider* resource_provider_;
|
| + ResourceProvider::Resource* resource_;
|
| + gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_;
|
| + gfx::GpuMemoryBuffer* gpu_memory_buffer_;
|
| + base::ThreadChecker thread_checker_;
|
| + ContextProvider* worker_context_;
|
| + unsigned image_id_;
|
| + unsigned bound_image_id_;
|
| + unsigned source_gl_id_;
|
| + gfx::Size size_;
|
| + ResourceFormat format_;
|
| + GLenum internal_format_;
|
| + bool did_bind_image_;
|
| + unsigned query_id_;
|
| + bool using_sync_query_;
|
| + gfx::GpuMemoryBuffer::Usage usage_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBufferForThread);
|
| + };
|
| +
|
| class CC_EXPORT ScopedWriteLockGr {
|
| public:
|
| ScopedWriteLockGr(ResourceProvider* resource_provider,
|
|
|