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 |