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

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

Issue 1251693003: cc: Fix the format of GpuMemoryBuffer for SurfaceTexture (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 4 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
« no previous file with comments | « cc/test/pixel_test.cc ('k') | cc/trees/layer_tree_settings.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 2096 matching lines...) Expand 10 before | Expand all | Expand 10 after
2107 use_msaa_ ? settings_.gpu_rasterization_msaa_sample_count : 0; 2107 use_msaa_ ? settings_.gpu_rasterization_msaa_sample_count : 0;
2108 2108
2109 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( 2109 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create(
2110 GetTaskRunner(), task_graph_runner, context_provider, 2110 GetTaskRunner(), task_graph_runner, context_provider,
2111 resource_provider_.get(), settings_.use_distance_field_text, 2111 resource_provider_.get(), settings_.use_distance_field_text,
2112 msaa_sample_count); 2112 msaa_sample_count);
2113 return; 2113 return;
2114 } 2114 }
2115 2115
2116 DCHECK(GetRendererCapabilities().using_image); 2116 DCHECK(GetRendererCapabilities().using_image);
2117 unsigned image_target = settings_.use_image_texture_target;
2118 DCHECK_IMPLIES(image_target == GL_TEXTURE_RECTANGLE_ARB,
2119 context_provider->ContextCapabilities().gpu.texture_rectangle);
2120 DCHECK_IMPLIES(
2121 image_target == GL_TEXTURE_EXTERNAL_OES,
2122 context_provider->ContextCapabilities().gpu.egl_image_external);
2123 2117
2124 if (settings_.use_zero_copy) { 2118 if (settings_.use_zero_copy) {
2125 *resource_pool = 2119 *resource_pool = ResourcePool::Create(resource_provider_.get());
2126 ResourcePool::Create(resource_provider_.get(), image_target);
2127 2120
2128 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( 2121 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create(
2129 GetTaskRunner(), task_graph_runner, resource_provider_.get()); 2122 GetTaskRunner(), task_graph_runner, resource_provider_.get());
2130 return; 2123 return;
2131 } 2124 }
2132 2125
2133 if (settings_.use_one_copy) { 2126 if (settings_.use_one_copy) {
2134 // Synchronous single-threaded mode depends on tiles being ready to 2127 // Synchronous single-threaded mode depends on tiles being ready to
2135 // draw when raster is complete. Therefore, it must use one of zero 2128 // draw when raster is complete. Therefore, it must use one of zero
2136 // copy, software raster, or GPU raster. 2129 // copy, software raster, or GPU raster.
2137 DCHECK(!is_synchronous_single_threaded_); 2130 DCHECK(!is_synchronous_single_threaded_);
2138 2131
2139 // We need to create a staging resource pool when using copy rasterizer. 2132 // We need to create a staging resource pool when using copy rasterizer.
2140 *staging_resource_pool = 2133 *staging_resource_pool = ResourcePool::Create(resource_provider_.get());
2141 ResourcePool::Create(resource_provider_.get(), image_target);
2142 *resource_pool = 2134 *resource_pool =
2143 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); 2135 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D);
2144 2136
2145 int max_copy_texture_chromium_size = 2137 int max_copy_texture_chromium_size =
2146 context_provider->ContextCapabilities() 2138 context_provider->ContextCapabilities()
2147 .gpu.max_copy_texture_chromium_size; 2139 .gpu.max_copy_texture_chromium_size;
2148 2140
2149 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( 2141 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create(
2150 GetTaskRunner(), task_graph_runner, context_provider, 2142 GetTaskRunner(), task_graph_runner, context_provider,
2151 resource_provider_.get(), staging_resource_pool_.get(), 2143 resource_provider_.get(), staging_resource_pool_.get(),
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
2220 return false; 2212 return false;
2221 } 2213 }
2222 2214
2223 output_surface_ = output_surface.Pass(); 2215 output_surface_ = output_surface.Pass();
2224 resource_provider_ = ResourceProvider::Create( 2216 resource_provider_ = ResourceProvider::Create(
2225 output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_, 2217 output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_,
2226 proxy_->blocking_main_thread_task_runner(), 2218 proxy_->blocking_main_thread_task_runner(),
2227 settings_.renderer_settings.highp_threshold_min, 2219 settings_.renderer_settings.highp_threshold_min,
2228 settings_.renderer_settings.use_rgba_4444_textures, 2220 settings_.renderer_settings.use_rgba_4444_textures,
2229 settings_.renderer_settings.texture_id_allocation_chunk_size, 2221 settings_.renderer_settings.texture_id_allocation_chunk_size,
2230 settings_.use_persistent_map_for_gpu_memory_buffers); 2222 settings_.use_persistent_map_for_gpu_memory_buffers,
2223 settings_.use_image_texture_targets);
2231 2224
2232 CreateAndSetRenderer(); 2225 CreateAndSetRenderer();
2233 2226
2234 // Since the new renderer may be capable of MSAA, update status here. 2227 // Since the new renderer may be capable of MSAA, update status here.
2235 UpdateGpuRasterizationStatus(); 2228 UpdateGpuRasterizationStatus();
2236 2229
2237 CreateTileManagerResources(); 2230 CreateTileManagerResources();
2238 RecreateTreeResources(); 2231 RecreateTreeResources();
2239 2232
2240 // Initialize vsync parameters to sane values. 2233 // Initialize vsync parameters to sane values.
(...skipping 1394 matching lines...) Expand 10 before | Expand all | Expand 10 after
3635 if (active_tree()) { 3628 if (active_tree()) {
3636 LayerAnimationValueProvider* layer = active_tree()->LayerById(layer_id); 3629 LayerAnimationValueProvider* layer = active_tree()->LayerById(layer_id);
3637 if (layer) 3630 if (layer)
3638 return layer->ScrollOffsetForAnimation(); 3631 return layer->ScrollOffsetForAnimation();
3639 } 3632 }
3640 3633
3641 return gfx::ScrollOffset(); 3634 return gfx::ScrollOffset();
3642 } 3635 }
3643 3636
3644 } // namespace cc 3637 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/pixel_test.cc ('k') | cc/trees/layer_tree_settings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698