New issue
Advanced search Search tips

Issue 777628 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 777622

Blocking:
issue 737629



Sign in to add a comment

Serialize images for oop raster

Project Member Reported by enne@chromium.org, Oct 23 2017

Issue description

Prototype patch: https://chromium-review.googlesource.com/c/chromium/src/+/706374

Because there are at raster images that are currently being uploaded using arbitrary gl, I think this depends on the transfer cache to safely interleave resource transfer with raster chromium commands.

There was an abandoned attempt to try to find all images at raster time, but it started to look like too much work to do, and it wasn't clear that we'd be able to find all images in every case without regressing the common case by extending image bounds to visual rects.
 

Comment 1 by enne@chromium.org, Oct 23 2017

Labels: -Type-Bug Type-Feature
Components: Internals>Compositing
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f579c56a8d3992efa37e4ddbee426749fb02c344

commit f579c56a8d3992efa37e4ddbee426749fb02c344
Author: Eric Karl <ericrk@chromium.org>
Date: Mon Dec 11 21:33:08 2017

Move DecodeStashingImageProvider into its own file.

This lets it be used outside of ScopedImageFlags. OOP raster will use
this more generally during serialization.

Bug:  777628 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ie1bd3dda646d6094601050263560578d4a96b09f
Reviewed-on: https://chromium-review.googlesource.com/815897
Reviewed-by: vmpstr <vmpstr@chromium.org>
Commit-Queue: Eric Karl <ericrk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523216}
[modify] https://crrev.com/f579c56a8d3992efa37e4ddbee426749fb02c344/cc/paint/BUILD.gn
[add] https://crrev.com/f579c56a8d3992efa37e4ddbee426749fb02c344/cc/paint/decode_stashing_image_provider.cc
[add] https://crrev.com/f579c56a8d3992efa37e4ddbee426749fb02c344/cc/paint/decode_stashing_image_provider.h
[modify] https://crrev.com/f579c56a8d3992efa37e4ddbee426749fb02c344/cc/paint/scoped_raster_flags.cc
[modify] https://crrev.com/f579c56a8d3992efa37e4ddbee426749fb02c344/cc/paint/scoped_raster_flags.h

Comment 4 by ericrk@chromium.org, Dec 14 2017

Owner: ericrk@chromium.org
Status: Started (was: Available)
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b8436915204fb6de906de699e125123bf9b4b94

commit 8b8436915204fb6de906de699e125123bf9b4b94
Author: Eric Karl <ericrk@chromium.org>
Date: Thu Jan 04 21:50:28 2018

OOP: Image Support

This patch adds initial support for images in OOP raster, using the transfer cache.
This has a few sub-components:
- Update the ServiceImageTransferCacheEntry to handle > max texture size images.
- Update the GPUImageDecodeCache to have a TRANSFER_CACHE upload mode.
- Update GPUImageDecodeCache's unit tests to hit the TRANSFER_CACHE path.
- Update RasterCHROMIUM to take an ImageProvider, and re-factor RasterCHROMIUM to reduce number
  of arguments.

Bug:  777628 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I037391fa150529883f1fc534064e29802cf2d08f
Reviewed-on: https://chromium-review.googlesource.com/822605
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527104}
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/decode_stashing_image_provider.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/decode_stashing_image_provider.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/decoded_draw_image.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/decoded_draw_image.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/image_provider.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/image_transfer_cache_entry.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/image_transfer_cache_entry.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/oop_pixeltest.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/paint_op_reader.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/paint_op_reader.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/paint_op_writer.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/paint_op_writer.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/paint/scoped_raster_flags.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/test/transfer_cache_test_helper.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/test/transfer_cache_test_helper.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/tiles/gpu_image_decode_cache.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_c_lib_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_implementation_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_interface.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_interface_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_interface_stub_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/raster_implementation_gles.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/raster_implementation_gles.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/raster_implementation_gles_unittest.cc
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/client/raster_interface.h
[modify] https://crrev.com/8b8436915204fb6de906de699e125123bf9b4b94/gpu/command_buffer/cmd_buffer_functions.txt

Comment 6 by enne@chromium.org, Feb 7 2018

Status: Fixed (was: Started)
I think this is done.

Sign in to add a comment