Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 508373002: cc: Single-threaded impl-side painting for unit tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 1917 matching lines...) Expand 10 before | Expand all | Expand 10 after
1928 if (pending_tree_) 1928 if (pending_tree_)
1929 pending_tree_->set_needs_update_draw_properties(); 1929 pending_tree_->set_needs_update_draw_properties();
1930 client_->UpdateRendererCapabilitiesOnImplThread(); 1930 client_->UpdateRendererCapabilitiesOnImplThread();
1931 } 1931 }
1932 1932
1933 void LayerTreeHostImpl::CreateAndSetTileManager() { 1933 void LayerTreeHostImpl::CreateAndSetTileManager() {
1934 DCHECK(!tile_manager_); 1934 DCHECK(!tile_manager_);
1935 DCHECK(settings_.impl_side_painting); 1935 DCHECK(settings_.impl_side_painting);
1936 DCHECK(output_surface_); 1936 DCHECK(output_surface_);
1937 DCHECK(resource_provider_); 1937 DCHECK(resource_provider_);
1938 DCHECK(proxy_->ImplThreadTaskRunner()); 1938 base::SingleThreadTaskRunner* task_runner =
1939 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner()
1940 : proxy_->MainThreadTaskRunner();
1941 DCHECK(task_runner);
1939 1942
1940 ContextProvider* context_provider = output_surface_->context_provider(); 1943 ContextProvider* context_provider = output_surface_->context_provider();
1941 transfer_buffer_memory_limit_ = 1944 transfer_buffer_memory_limit_ =
1942 GetMaxTransferBufferUsageBytes(context_provider); 1945 GetMaxTransferBufferUsageBytes(context_provider);
1943 1946
1944 if (use_gpu_rasterization_ && context_provider) { 1947 if (use_gpu_rasterization_ && context_provider) {
1945 resource_pool_ = 1948 resource_pool_ =
1946 ResourcePool::Create(resource_provider_.get(), 1949 ResourcePool::Create(resource_provider_.get(),
1947 GL_TEXTURE_2D, 1950 GL_TEXTURE_2D,
1948 resource_provider_->best_texture_format()); 1951 resource_provider_->best_texture_format());
1949 1952
1950 raster_worker_pool_ = 1953 raster_worker_pool_ = GpuRasterWorkerPool::Create(
1951 GpuRasterWorkerPool::Create(proxy_->ImplThreadTaskRunner(), 1954 task_runner, context_provider, resource_provider_.get());
1952 context_provider,
1953 resource_provider_.get());
1954 } else if (UseOneCopyTextureUpload() && context_provider) { 1955 } else if (UseOneCopyTextureUpload() && context_provider) {
1955 // We need to create a staging resource pool when using copy rasterizer. 1956 // We need to create a staging resource pool when using copy rasterizer.
1956 staging_resource_pool_ = 1957 staging_resource_pool_ =
1957 ResourcePool::Create(resource_provider_.get(), 1958 ResourcePool::Create(resource_provider_.get(),
1958 GetMapImageTextureTarget(context_provider), 1959 GetMapImageTextureTarget(context_provider),
1959 resource_provider_->best_texture_format()); 1960 resource_provider_->best_texture_format());
1960 resource_pool_ = 1961 resource_pool_ =
1961 ResourcePool::Create(resource_provider_.get(), 1962 ResourcePool::Create(resource_provider_.get(),
1962 GL_TEXTURE_2D, 1963 GL_TEXTURE_2D,
1963 resource_provider_->best_texture_format()); 1964 resource_provider_->best_texture_format());
1964 1965
1965 raster_worker_pool_ = ImageCopyRasterWorkerPool::Create( 1966 raster_worker_pool_ = ImageCopyRasterWorkerPool::Create(
1966 proxy_->ImplThreadTaskRunner(), 1967 task_runner,
1967 RasterWorkerPool::GetTaskGraphRunner(), 1968 RasterWorkerPool::GetTaskGraphRunner(),
1968 context_provider, 1969 context_provider,
1969 resource_provider_.get(), 1970 resource_provider_.get(),
1970 staging_resource_pool_.get()); 1971 staging_resource_pool_.get());
1971 } else if (!UseZeroCopyTextureUpload() && context_provider) { 1972 } else if (!UseZeroCopyTextureUpload() && context_provider) {
1972 resource_pool_ = ResourcePool::Create( 1973 resource_pool_ = ResourcePool::Create(
1973 resource_provider_.get(), 1974 resource_provider_.get(),
1974 GL_TEXTURE_2D, 1975 GL_TEXTURE_2D,
1975 resource_provider_->memory_efficient_texture_format()); 1976 resource_provider_->memory_efficient_texture_format());
1976 1977
1977 raster_worker_pool_ = PixelBufferRasterWorkerPool::Create( 1978 raster_worker_pool_ = PixelBufferRasterWorkerPool::Create(
1978 proxy_->ImplThreadTaskRunner(), 1979 task_runner,
1979 RasterWorkerPool::GetTaskGraphRunner(), 1980 RasterWorkerPool::GetTaskGraphRunner(),
1980 context_provider, 1981 context_provider,
1981 resource_provider_.get(), 1982 resource_provider_.get(),
1982 transfer_buffer_memory_limit_); 1983 transfer_buffer_memory_limit_);
1983 } else { 1984 } else {
1984 resource_pool_ = 1985 resource_pool_ =
1985 ResourcePool::Create(resource_provider_.get(), 1986 ResourcePool::Create(resource_provider_.get(),
1986 GetMapImageTextureTarget(context_provider), 1987 GetMapImageTextureTarget(context_provider),
1987 resource_provider_->best_texture_format()); 1988 resource_provider_->best_texture_format());
1988 1989
1989 raster_worker_pool_ = 1990 raster_worker_pool_ =
1990 ImageRasterWorkerPool::Create(proxy_->ImplThreadTaskRunner(), 1991 ImageRasterWorkerPool::Create(task_runner,
1991 RasterWorkerPool::GetTaskGraphRunner(), 1992 RasterWorkerPool::GetTaskGraphRunner(),
1992 resource_provider_.get()); 1993 resource_provider_.get());
1993 } 1994 }
1994 1995
1995 tile_manager_ = 1996 tile_manager_ = TileManager::Create(this,
1996 TileManager::Create(this, 1997 task_runner,
1997 proxy_->ImplThreadTaskRunner(), 1998 resource_pool_.get(),
1998 resource_pool_.get(), 1999 raster_worker_pool_->AsRasterizer(),
1999 raster_worker_pool_->AsRasterizer(), 2000 rendering_stats_instrumentation_);
2000 rendering_stats_instrumentation_);
2001 2001
2002 UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); 2002 UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy());
2003 need_to_update_visible_tiles_before_draw_ = false; 2003 need_to_update_visible_tiles_before_draw_ = false;
2004 } 2004 }
2005 2005
2006 void LayerTreeHostImpl::DestroyTileManager() { 2006 void LayerTreeHostImpl::DestroyTileManager() {
2007 tile_manager_.reset(); 2007 tile_manager_.reset();
2008 resource_pool_.reset(); 2008 resource_pool_.reset();
2009 staging_resource_pool_.reset(); 2009 staging_resource_pool_.reset();
2010 raster_worker_pool_.reset(); 2010 raster_worker_pool_.reset();
(...skipping 1341 matching lines...) Expand 10 before | Expand all | Expand 10 after
3352 } 3352 }
3353 3353
3354 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 3354 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
3355 std::vector<PictureLayerImpl*>::iterator it = 3355 std::vector<PictureLayerImpl*>::iterator it =
3356 std::find(picture_layers_.begin(), picture_layers_.end(), layer); 3356 std::find(picture_layers_.begin(), picture_layers_.end(), layer);
3357 DCHECK(it != picture_layers_.end()); 3357 DCHECK(it != picture_layers_.end());
3358 picture_layers_.erase(it); 3358 picture_layers_.erase(it);
3359 } 3359 }
3360 3360
3361 } // namespace cc 3361 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698