OOP raster needs to replicate the "color canvas" that RasterSource does, probably by passing along the color space along with the begin raster command. See also: https://docs.google.com/document/d/1vsJsk1zGSagxxBggd8j5G9u0rMzD1NTaQWgEbUabEvY/edit?pli=1#heading=h.q0c7qtene0dq
I can take this.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f59838589e069f663e3d8fd83d06eb0c18ed9597 commit f59838589e069f663e3d8fd83d06eb0c18ed9597 Author: Khushal <khushalsagar@chromium.org> Date: Fri Feb 02 23:22:11 2018 oop: Perform color conversion during raster. Transport the target color space for OOP raster in BeginRasterCHROMIUM to ensure we set up a color transform canvas for raster if necessary. R=enne@chromium.org, piman@chromium.org Bug: 757610 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: I8cf03e9f129d2c004f4e228dffa6621d964bf6f0 Reviewed-on: https://chromium-review.googlesource.com/894860 Commit-Queue: Khushal <khushalsagar@chromium.org> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#534191} [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/paint/BUILD.gn [add] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/paint/color_space_transfer_cache_entry.cc [add] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/paint/color_space_transfer_cache_entry.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/paint/oop_pixeltest.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/paint/transfer_cache_entry.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/paint/transfer_cache_entry.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/raster/gpu_raster_buffer_provider.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/raster/raster_source.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/test/fake_tile_manager_client.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/test/fake_tile_manager_client.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/tiles/tile_manager.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/tiles/tile_manager.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_host.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_host.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_host_impl.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_host_impl.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_impl.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/cc/trees/layer_tree_impl_unittest.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/build_raster_cmd_buffer.py [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_c_lib_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_cmd_helper_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_implementation_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_implementation_impl_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_interface_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_interface_stub_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_trace_implementation_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/raster_implementation_gles.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/raster_implementation_gles.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/raster_implementation_gles_unittest.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/raster_interface.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/client/raster_interface_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/common/gles2_cmd_format_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/gles2_cmd_buffer_functions.txt [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/ui/gfx/color_space.cc [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/ui/gfx/color_space.h [modify] https://crrev.com/f59838589e069f663e3d8fd83d06eb0c18ed9597/ui/gfx/ipc/color/BUILD.gn
Comment 1 by ccameron@chromium.org
, Oct 24 2017Status: Assigned (was: Available)