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

Issue 793693003: Tile Compression (Closed)

Created:
6 years ago by christiank
Modified:
5 years, 6 months ago
Reviewers:
reveman
CC:
cc-bugs_chromium.org, chromium-reviews, creis+watch_chromium.org, danakj+watch_chromium.org, darin-cc_chromium.org, jam, jbauman+watch_chromium.org, kalyank, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, piman+watch_chromium.org, sievers+watch_chromium.org, aelias_OOO_until_Jul13, epenner, peterp, auygun
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Tile Compression This is almost the complete source code of the tile texture compression feature developed at Opera. It's quite large as everything has been squashed to a single commit. The only thing omitted is the heuristics for automatically turning compression on or off for individual tiles. It will need to be handled separately due to the added complexity. This review has been created for evaluation purposes. Individual components will be uploaded and reviewed separately. For reference the design document can be found here: https://docs.google.com/document/d/1WdA0ir5J5gzhJ1yizDOigVG1lIQRolaLtI4CWEWcj5g/edit?usp=sharing The bug in question is: 434699 BUG=

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7523 lines, -876 lines) Patch
M cc/base/switches.h View 1 chunk +7 lines, -0 lines 0 comments Download
M cc/base/switches.cc View 1 chunk +24 lines, -0 lines 0 comments Download
A cc/base/tile_compression_method.h View 1 chunk +21 lines, -0 lines 0 comments Download
M cc/cc.gyp View 4 chunks +62 lines, -0 lines 0 comments Download
M cc/cc_tests.gyp View 2 chunks +6 lines, -0 lines 0 comments Download
M cc/debug/debug_colors.h View 1 chunk +3 lines, -0 lines 0 comments Download
M cc/debug/debug_colors.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M cc/debug/rasterize_and_record_benchmark_impl.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M cc/layers/picture_layer_impl.h View 1 chunk +2 lines, -1 line 0 comments Download
M cc/layers/picture_layer_impl.cc View 4 chunks +12 lines, -6 lines 0 comments Download
M cc/layers/tiled_layer_unittest.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M cc/output/gl_renderer_unittest.cc View 14 chunks +44 lines, -109 lines 0 comments Download
M cc/output/overlay_unittest.cc View 3 chunks +7 lines, -10 lines 0 comments Download
M cc/output/renderer_settings.h View 2 chunks +4 lines, -0 lines 0 comments Download
M cc/output/renderer_settings.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M cc/output/renderer_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M cc/output/software_renderer_unittest.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M cc/resources/managed_tile_state.h View 1 chunk +4 lines, -0 lines 0 comments Download
M cc/resources/one_copy_tile_task_worker_pool.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M cc/resources/picture_layer_tiling.h View 6 chunks +29 lines, -7 lines 0 comments Download
M cc/resources/picture_layer_tiling.cc View 10 chunks +74 lines, -15 lines 0 comments Download
M cc/resources/picture_layer_tiling_perftest.cc View 2 chunks +5 lines, -8 lines 0 comments Download
M cc/resources/picture_layer_tiling_set.h View 1 chunk +2 lines, -1 line 0 comments Download
M cc/resources/picture_layer_tiling_set.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M cc/resources/picture_layer_tiling_set_unittest.cc View 2 chunks +5 lines, -9 lines 0 comments Download
M cc/resources/picture_layer_tiling_unittest.cc View 5 chunks +9 lines, -5 lines 0 comments Download
M cc/resources/prioritized_resource_unittest.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M cc/resources/resource_format.h View 2 chunks +17 lines, -0 lines 0 comments Download
M cc/resources/resource_format.cc View 2 chunks +17 lines, -0 lines 0 comments Download
M cc/resources/resource_pool.h View 5 chunks +14 lines, -10 lines 0 comments Download
M cc/resources/resource_pool.cc View 4 chunks +59 lines, -28 lines 0 comments Download
M cc/resources/resource_provider.h View 11 chunks +48 lines, -27 lines 0 comments Download
M cc/resources/resource_provider.cc View 14 chunks +131 lines, -43 lines 0 comments Download
M cc/resources/resource_provider_unittest.cc View 28 chunks +163 lines, -212 lines 0 comments Download
M cc/resources/resource_update_controller_unittest.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M cc/resources/scoped_resource_unittest.cc View 3 chunks +9 lines, -24 lines 0 comments Download
A cc/resources/texture_compress/arm/atc_dxt_neon.h View 1 chunk +35 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/arm/atc_dxt_neon.cc View 1 chunk +1183 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/arm/etc1_neon.h View 1 chunk +21 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/arm/etc1_neon.cc View 1 chunk +648 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/atc_dxt.h View 1 chunk +122 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/atc_dxt.cc View 1 chunk +795 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/etc1.h View 1 chunk +21 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/etc1.cc View 1 chunk +499 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/texture_compress.h View 1 chunk +31 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/texture_compress.cc View 1 chunk +90 lines, -0 lines 0 comments Download
A cc/resources/texture_compress/texture_compress_perftest.cc View 1 chunk +175 lines, -0 lines 0 comments Download
M cc/resources/texture_uploader.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M cc/resources/tile.h View 3 chunks +11 lines, -1 line 0 comments Download
M cc/resources/tile_manager.h View 5 chunks +7 lines, -2 lines 0 comments Download
M cc/resources/tile_manager.cc View 6 chunks +31 lines, -6 lines 0 comments Download
M cc/resources/tile_manager_unittest.cc View 2 chunks +8 lines, -4 lines 0 comments Download
M cc/resources/tile_task_worker_pool.cc View 4 chunks +51 lines, -1 line 0 comments Download
M cc/resources/tile_task_worker_pool_perftest.cc View 4 chunks +5 lines, -2 lines 0 comments Download
M cc/resources/tile_task_worker_pool_unittest.cc View 3 chunks +4 lines, -1 line 0 comments Download
M cc/resources/video_resource_updater_unittest.cc View 1 chunk +3 lines, -8 lines 0 comments Download
M cc/surfaces/display.cc View 1 chunk +1 line, -1 line 0 comments Download
M cc/surfaces/surface_aggregator_unittest.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M cc/test/fake_picture_layer_impl.cc View 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/fake_picture_layer_tiling_client.h View 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/fake_picture_layer_tiling_client.cc View 2 chunks +5 lines, -3 lines 0 comments Download
M cc/test/fake_tile_manager.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M cc/test/layer_tree_pixel_resource_test.cc View 5 chunks +8 lines, -20 lines 0 comments Download
M cc/test/pixel_test.cc View 2 chunks +8 lines, -16 lines 0 comments Download
M cc/test/test_gles2_interface.h View 1 chunk +17 lines, -0 lines 0 comments Download
M cc/test/test_gles2_interface.cc View 1 chunk +27 lines, -0 lines 0 comments Download
M cc/test/test_gpu_memory_buffer_manager.cc View 4 chunks +12 lines, -4 lines 0 comments Download
M cc/test/test_web_graphics_context_3d.h View 2 chunks +23 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 7 chunks +12 lines, -15 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_context.cc View 1 chunk +3 lines, -8 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.h View 1 chunk +2 lines, -2 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.cc View 1 chunk +8 lines, -1 line 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc View 5 chunks +10 lines, -5 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc View 2 chunks +6 lines, -1 line 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_io_surface.cc View 2 chunks +3 lines, -1 line 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 chunk +18 lines, -0 lines 0 comments Download
M gpu/GLES2/gl2chromium_autogen.h View 2 chunks +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 2 chunks +35 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_c_lib_autogen.h View 4 chunks +45 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_cmd_helper_autogen.h View 2 chunks +54 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 chunk +119 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_autogen.h View 2 chunks +25 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_impl_autogen.h View 1 chunk +18 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest_autogen.h View 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_autogen.h View 2 chunks +22 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_autogen.h View 2 chunks +22 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h View 2 chunks +28 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_autogen.h View 2 chunks +22 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h View 2 chunks +43 lines, -0 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 2 chunks +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/capabilities.h View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/capabilities.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_autogen.h View 2 chunks +276 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_test_autogen.h View 2 chunks +75 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_ids_autogen.h View 1 chunk +38 lines, -35 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils.h View 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils.cc View 1 chunk +70 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_delegate.h View 2 chunks +30 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_delegate_mock.h View 1 chunk +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager.h View 2 chunks +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager.cc View 2 chunks +14 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_android.cc View 4 chunks +30 lines, -2 lines 0 comments Download
A gpu/command_buffer/service/async_pixel_transfer_manager_compressed.h View 1 chunk +89 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/async_pixel_transfer_manager_compressed.cc View 1 chunk +231 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_egl.h View 2 chunks +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc View 4 chunks +48 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_idle.h View 2 chunks +13 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_idle.cc View 13 chunks +194 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_mock.h View 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_share_group.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc View 8 chunks +150 lines, -1 line 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_stub.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_stub.cc View 3 chunks +26 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_sync.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_sync.cc View 3 chunks +47 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/feature_info.h View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/feature_info.cc View 2 chunks +19 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 11 chunks +475 lines, -108 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_autogen.h View 1 chunk +26 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h View 2 chunks +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc View 6 chunks +11 lines, -5 lines 0 comments Download
M gpu/command_buffer/service/gpu_switches.h View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gpu_switches.cc View 2 chunks +13 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/image_factory.cc View 3 chunks +20 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 4 chunks +55 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 3 chunks +134 lines, -0 lines 0 comments Download
M gpu/command_buffer_service.gypi View 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/ipc/gpu_command_buffer_traits_multi.h View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.h View 1 chunk +12 lines, -1 line 0 comments Download
M ui/gl/gl_image_linux_dma_buffer.cc View 2 chunks +17 lines, -18 lines 0 comments Download
M ui/gl/gl_image_memory.h View 2 chunks +2 lines, -1 line 0 comments Download
M ui/gl/gl_image_memory.cc View 9 chunks +113 lines, -34 lines 0 comments Download
M ui/gl/gl_image_shared_memory.cc View 1 chunk +2 lines, -1 line 0 comments Download
M webkit/common/gpu/webgraphicscontext3d_impl.h View 1 chunk +17 lines, -0 lines 0 comments Download
M webkit/common/gpu/webgraphicscontext3d_impl.cc View 1 chunk +21 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
reveman
GPU memory buffer related changes look good. I'm not sure it makes sense to include ...
6 years ago (2014-12-12 16:52:25 UTC) #2
christiank
On 2014/12/12 16:52:25, reveman wrote: > GPU memory buffer related changes look good. I'm not ...
6 years ago (2014-12-15 07:09:57 UTC) #3
jchen10
On 2014/12/15 07:09:57, christiank wrote: > On 2014/12/12 16:52:25, reveman wrote: > > GPU memory ...
5 years, 8 months ago (2015-04-08 07:29:34 UTC) #4
christiank
On 2015/04/08 07:29:34, jchen10 wrote: > On 2014/12/15 07:09:57, christiank wrote: > > On 2014/12/12 ...
5 years, 8 months ago (2015-04-08 07:40:10 UTC) #5
jchen10
5 years, 8 months ago (2015-04-09 01:06:36 UTC) #6
On 2015/04/08 07:40:10, christiank wrote:
> On 2015/04/08 07:29:34, jchen10 wrote:
> > On 2014/12/15 07:09:57, christiank wrote:
> > > On 2014/12/12 16:52:25, reveman wrote:
> > > > GPU memory buffer related changes look good. I'm not sure it makes sense
> to
> > > > include async upload support if it's only supported by the idle
uploader.
> > > 
> > > True, I included it mostly to show what we currently have. I'll start with
> the
> > > GPU memory buffer parts and we can take it from there.
> > > 
> > > Thanks for having a look!
> > 
> > Hi Christian,
> >     You have optimized the encoders using NEON for ARM in this CL. So, do
you
> > have plan to do the same for IA using SIMD intrinsics? If possible, will you
> > welcome such contribution?
> 
> Hi,
> 
> We're currently focused on ARM and have no immediate plans on implementing
Intel
> SIMD optimized encoders. Any contributions in this area are welcome.
> 
> Please note that this is a somewhat outdated CL. We have gradually been
> upstreaming parts of this feature and it have diverged somewhat from this CL.
> 
> Currently we only have only landed the non-SIMD optimized ETC1 encoder. The
NEON
> optimized version will follow soon.

Great! Thanks for your information. I will start to work on IA following your
pace of upstreaming.

Powered by Google App Engine
This is Rietveld 408576698