summaryrefslogtreecommitdiffstats
path: root/cc/surfaces
diff options
context:
space:
mode:
authorreveman <reveman@chromium.org>2015-08-06 16:58:22 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-06 23:59:01 +0000
commitd5157ac5afec145b85746b42f2d86383483a8222 (patch)
treed7b8edd68e4238c07076b5f19ac0d6e8a0ecebcd /cc/surfaces
parentae7f0073aef3299dca34cb59ab4c827d1145f0c2 (diff)
downloadchromium_src-d5157ac5afec145b85746b42f2d86383483a8222.zip
chromium_src-d5157ac5afec145b85746b42f2d86383483a8222.tar.gz
chromium_src-d5157ac5afec145b85746b42f2d86383483a8222.tar.bz2
cc: Use worker context for one-copy tile initialization.
This moves management of staging resources to OneCopyTileTaskWorkerPool class. This makes it possible to use a worker context to issue and detect when copy operations complete. BUG=490295 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1230203007 Cr-Commit-Position: refs/heads/master@{#342235}
Diffstat (limited to 'cc/surfaces')
-rw-r--r--cc/surfaces/display.cc5
-rw-r--r--cc/surfaces/surface_display_output_surface.cc5
-rw-r--r--cc/surfaces/surface_display_output_surface.h3
-rw-r--r--cc/surfaces/surface_display_output_surface_unittest.cc3
4 files changed, 8 insertions, 8 deletions
diff --git a/cc/surfaces/display.cc b/cc/surfaces/display.cc
index 7e80854..586bfad 100644
--- a/cc/surfaces/display.cc
+++ b/cc/surfaces/display.cc
@@ -101,13 +101,10 @@ void Display::InitializeRenderer() {
if (resource_provider_)
return;
- // Display does not use GpuMemoryBuffers, so persistent map is not relevant.
- bool use_persistent_map_for_gpu_memory_buffers = false;
scoped_ptr<ResourceProvider> resource_provider = ResourceProvider::Create(
output_surface_.get(), bitmap_manager_, gpu_memory_buffer_manager_,
nullptr, settings_.highp_threshold_min, settings_.use_rgba_4444_textures,
- settings_.texture_id_allocation_chunk_size,
- use_persistent_map_for_gpu_memory_buffers);
+ settings_.texture_id_allocation_chunk_size);
if (!resource_provider)
return;
diff --git a/cc/surfaces/surface_display_output_surface.cc b/cc/surfaces/surface_display_output_surface.cc
index e21d15d..6a2779d 100644
--- a/cc/surfaces/surface_display_output_surface.cc
+++ b/cc/surfaces/surface_display_output_surface.cc
@@ -17,8 +17,9 @@ namespace cc {
SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
SurfaceManager* surface_manager,
SurfaceIdAllocator* allocator,
- const scoped_refptr<ContextProvider>& context_provider)
- : OutputSurface(context_provider),
+ const scoped_refptr<ContextProvider>& context_provider,
+ const scoped_refptr<ContextProvider>& worker_context_provider)
+ : OutputSurface(context_provider, worker_context_provider),
display_client_(NULL),
factory_(surface_manager, this),
allocator_(allocator) {
diff --git a/cc/surfaces/surface_display_output_surface.h b/cc/surfaces/surface_display_output_surface.h
index c11bb86..2cdaadc 100644
--- a/cc/surfaces/surface_display_output_surface.h
+++ b/cc/surfaces/surface_display_output_surface.h
@@ -27,7 +27,8 @@ class CC_SURFACES_EXPORT SurfaceDisplayOutputSurface
SurfaceDisplayOutputSurface(
SurfaceManager* surface_manager,
SurfaceIdAllocator* allocator,
- const scoped_refptr<ContextProvider>& context_provider);
+ const scoped_refptr<ContextProvider>& context_provider,
+ const scoped_refptr<ContextProvider>& worker_context_provider);
~SurfaceDisplayOutputSurface() override;
void set_display_client(OnscreenDisplayClient* display_client) {
diff --git a/cc/surfaces/surface_display_output_surface_unittest.cc b/cc/surfaces/surface_display_output_surface_unittest.cc
index 9b67f1f..3145729 100644
--- a/cc/surfaces/surface_display_output_surface_unittest.cc
+++ b/cc/surfaces/surface_display_output_surface_unittest.cc
@@ -60,7 +60,8 @@ class SurfaceDisplayOutputSurfaceTest : public testing::Test {
context_provider_(TestContextProvider::Create()),
surface_display_output_surface_(&surface_manager_,
&allocator_,
- context_provider_) {
+ context_provider_,
+ nullptr) {
output_surface_ = display_client_.output_surface();
display_client_.set_surface_output_surface(
&surface_display_output_surface_);