| Index: cc/resources/resource_provider.h
|
| diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h
|
| index 8b7ccd85e3bf92e72f8158f79819012bcbeec0cd..324df1bab3a701f52f4c8d1afc8e334ba2ff8748 100644
|
| --- a/cc/resources/resource_provider.h
|
| +++ b/cc/resources/resource_provider.h
|
| @@ -35,7 +35,6 @@
|
| #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;
|
|
|
| @@ -47,6 +46,7 @@
|
| }
|
|
|
| namespace gfx {
|
| +class GpuMemoryBuffer;
|
| class Rect;
|
| class Vector2d;
|
| }
|
| @@ -88,6 +88,7 @@
|
| int highp_threshold_min,
|
| bool use_rgba_4444_texture_format,
|
| size_t id_allocation_chunk_size,
|
| + bool use_persistent_map_for_gpu_memory_buffers,
|
| const std::vector<unsigned>& use_image_texture_targets);
|
| ~ResourceProvider() override;
|
|
|
| @@ -103,8 +104,8 @@
|
| }
|
| ResourceFormat yuv_resource_format() const { return yuv_resource_format_; }
|
| bool use_sync_query() const { return use_sync_query_; }
|
| - gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager() {
|
| - return gpu_memory_buffer_manager_;
|
| + bool use_persistent_map_for_gpu_memory_buffers() const {
|
| + return use_persistent_map_for_gpu_memory_buffers_;
|
| }
|
| size_t num_resources() const { return resources_.size(); }
|
|
|
| @@ -426,7 +427,14 @@
|
| // Indicates if we can currently lock this resource for write.
|
| bool CanLockForWrite(ResourceId id);
|
|
|
| + // Copy |rect| pixels from source to destination.
|
| + void CopyResource(ResourceId source_id,
|
| + ResourceId dest_id,
|
| + const gfx::Rect& rect);
|
| +
|
| void WaitSyncPointIfNeeded(ResourceId id);
|
| +
|
| + void WaitReadLockIfNeeded(ResourceId id);
|
|
|
| static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl);
|
|
|
| @@ -450,6 +458,7 @@
|
| int highp_threshold_min,
|
| bool use_rgba_4444_texture_format,
|
| size_t id_allocation_chunk_size,
|
| + bool use_persistent_map_for_gpu_memory_buffers,
|
| const std::vector<unsigned>& use_image_texture_targets);
|
| void Initialize();
|
|
|
| @@ -605,6 +614,9 @@
|
| scoped_ptr<IdAllocator> buffer_id_allocator_;
|
|
|
| bool use_sync_query_;
|
| + bool use_persistent_map_for_gpu_memory_buffers_;
|
| + // Fence used for CopyResource if CHROMIUM_sync_query is not supported.
|
| + scoped_refptr<SynchronousFence> synchronous_fence_;
|
| std::vector<unsigned> use_image_texture_targets_;
|
|
|
| // A process-unique ID used for disambiguating memory dumps from different
|
|
|