New issue
Advanced search Search tips

Issue 757607 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-11-13
OS: ----
Pri: 2
Type: Feature


Sign in to add a comment

OOP-R: Implement a raster command buffer interface

Project Member Reported by enne@chromium.org, Aug 21 2017

Issue description

Design Doc: https://goo.gl/Q6E1ZC

This tracks a TODO from https://chromium-review.googlesource.com/c/chromium/src/+/514505.

In particular, the chromium raster extension doesn't validate that there are no other commands but raster between begin and end raster.  piman lays out a few options in https://chromium-review.googlesource.com/c/chromium/src/+/514505/9/gpu/command_buffer/service/gles2_cmd_decoder.cc#20012

Copying and pasting from https://docs.google.com/document/d/1vsJsk1zGSagxxBggd8j5G9u0rMzD1NTaQWgEbUabEvY/edit?pli=1#heading=h.7mvk8x6esuk9

However, one thing that will need to be implemented is some way of preventing malicious clients from inserting commands that modify state in between begin/end raster chromium.  One option is to add validation to all commands that it’s not in the middle of raster, but that seems like spreading this feature’s complexity into everything.  Another option is to have two different decoders on the service side (both of which sharing the same gl context), and swap to the different decoder at begin raster and then back at end raster.  The one downside to this is that the GrContext and its cache are not shared among all raster decoders even if they are in the same share group.

The best (but most work) option is to create a separate context for this work so that there’s no clobbering and no validation needed.  This is piman’s “fourth thought” in the link above.  Create a separate command buffer context that provides a different API to clients that can do both raster and resource management.  From there, have all of these new raster decoders share the same gl context / gr context.  State resetting is no longer needed and there’s no need to be defensive about inserting malicious commands in the middle of raster.
 

Comment 1 by vmi...@chromium.org, Oct 30 2017

Labels: -Type-Bug Type-Feature
NextAction: 2017-11-13
Owner: vmi...@chromium.org
Status: Assigned (was: Available)
The NextAction date has arrived: 2017-11-13

Comment 3 by enne@chromium.org, Nov 14 2017

Blocking: 785008

Comment 4 by vmi...@chromium.org, Nov 18 2017

Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 6 2017

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

commit fa65dc60a33526853237b9023c55aef9bdc88114
Author: Victor Miura <vmiura@chromium.org>
Date: Wed Dec 06 02:15:51 2017

gpu: Simplify CHROMIUM_texture_mailbox API.

- Remove ProduceTextureCHROMIUM from GLES2Interface.  Change all call sites
  to use ProduceTextureDirectCHROMIUM.
- Remove <target> from ProduceTextureDirectCHROMIUM.
- Remove <target> from CreateAndConsumeTextureCHROMIUM.

BUG= 757607 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;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: Ic50059a0db3edfaeb51690645bce096f4f64228e
Reviewed-on: https://chromium-review.googlesource.com/780807
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521952}
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/ash/fast_ink/fast_ink_view.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/resources/display_resource_provider.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/resources/resource_provider.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/test/test_gles2_interface.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/test/test_gles2_interface.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/test/test_web_graphics_context_3d.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/cc/test/test_web_graphics_context_3d.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/chrome/browser/android/vr_shell/mailbox_to_surface_bridge.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/components/exo/buffer.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/components/viz/common/gl_helper.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/components/viz/common/yuv_readback_unittest.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/components/viz/service/display/gl_renderer_copier.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/components/viz/service/display/gl_renderer_copier_pixeltest.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/renderer/media/android/stream_texture_factory.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/renderer/media/android/stream_texture_factory.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/renderer/media/android/stream_texture_wrapper_impl.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/renderer/pepper/pepper_graphics_2d_host.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/renderer/pepper/video_decoder_shim.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/content/shell/test_runner/test_plugin.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/GLES2/gl2chromium_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/GLES2/gl2extchromium.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_c_lib_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_implementation_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_interface_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_interface_stub_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/cmd_buffer_functions.txt
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/gpu/command_buffer/tests/gl_texture_mailbox_unittest.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/media/blink/webmediaplayer_cast_android.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/media/renderers/paint_canvas_video_renderer.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/media/renderers/video_overlay_factory.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/media/video/gpu_memory_buffer_video_frame_pool.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/ppapi/proxy/compositor_layer_resource.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/ppapi/proxy/video_decoder_resource.cc
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/CanvasResource.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/CanvasResourceTest.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/GpuMemoryBufferImageCopy.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/SkiaTextureHolder.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h
[modify] https://crrev.com/fa65dc60a33526853237b9023c55aef9bdc88114/third_party/WebKit/Source/platform/graphics/gpu/GraphicsContext3DUtils.cpp

Summary: OOP-R: Implement a raster command buffer interface (was: Validate chromium raster command buffer commands)
Description: Show this description
Components: Internals>Compositing
Blockedon: 793508
Cc: backer@chromium.org
Blockedon: 789238
Project Member

Comment 12 by bugdroid1@chromium.org, Dec 13 2017

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

commit 3a4ad4f8be59183ec01c7a8d5167c5e441dc5469
Author: Victor Miura <vmiura@chromium.org>
Date: Wed Dec 13 06:03:45 2017

oop: Create a RasterInterface, and use it for Compositor Worker contexts.

This CL enables RasterInterface for Compositor Worker contexts in
content/renderer and content/browser.

RasterInterface provides a subset of GLES2Interface APIs required for
OOP Rasterization.  This will gradually diverge away from GLES2.

The initial change adds a client-side implementation of
RasterInterface on top of GLES2Interface.

Design Doc: https://goo.gl/Q6E1ZC
BUG= 757607 

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: Iaefd861f0c51b9995ad27eb94de2068d0f9dab22
Reviewed-on: https://chromium-review.googlesource.com/778242
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Eric Karl <ericrk@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523700}
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/android_webview/browser/aw_render_thread_context_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/BUILD.gn
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/DEPS
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/gpu_raster_buffer_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/one_copy_raster_buffer_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/raster_buffer_provider_perftest.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/staging_buffer_pool.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/raster/staging_buffer_pool.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/resources/resource_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/resources/resource_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/test/DEPS
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/test/test_context_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/test/test_context_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/test/test_in_process_context_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/trees/layer_tree_frame_sink.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/cc/trees/layer_tree_host_unittest_context.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/components/viz/common/gpu/context_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/components/viz/common/gpu/in_process_context_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/components/viz/common/gpu/in_process_context_provider.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/content/browser/BUILD.gn
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/content/renderer/BUILD.gn
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/BUILD.gn
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/client/BUILD.gn
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/client/DEPS
[add] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/client/raster_implementation_gles.cc
[add] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/client/raster_implementation_gles.h
[add] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/client/raster_implementation_gles_unittest.cc
[add] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/client/raster_interface.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/command_buffer/common/gles2_cmd_utils.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/services/ui/public/cpp/gpu/context_provider_command_buffer.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/services/ui/public/cpp/gpu/context_provider_command_buffer.h
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/ui/compositor/test/in_process_context_provider.cc
[modify] https://crrev.com/3a4ad4f8be59183ec01c7a8d5167c5e441dc5469/ui/compositor/test/in_process_context_provider.h

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 16 2017

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

commit 406891a47a31b9c86504badfc24e904dc23eda98
Author: Victor Miura <vmiura@chromium.org>
Date: Sat Dec 16 03:58:30 2017

oop: Add more APIs to RasterInterface.

BeginGpuRaster / EndGpuRaster should be used to scope use of GPU raster via a
GrContext, so that GrContext and RasterImplementationGLES state can be correctly
invalidated.

crrev.com/c/828079 depends on this change.

BUG= 757607 

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: I3c0b8267bc42a051673fc5ef0f91d89dc8f3686e
Reviewed-on: https://chromium-review.googlesource.com/830888
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Eric Karl <ericrk@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524582}
[modify] https://crrev.com/406891a47a31b9c86504badfc24e904dc23eda98/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/406891a47a31b9c86504badfc24e904dc23eda98/gpu/command_buffer/client/raster_implementation_gles.cc
[modify] https://crrev.com/406891a47a31b9c86504badfc24e904dc23eda98/gpu/command_buffer/client/raster_implementation_gles.h
[modify] https://crrev.com/406891a47a31b9c86504badfc24e904dc23eda98/gpu/command_buffer/client/raster_implementation_gles_unittest.cc
[modify] https://crrev.com/406891a47a31b9c86504badfc24e904dc23eda98/gpu/command_buffer/client/raster_interface.h

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 19 2017

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

commit 29b7ea3d0495e9fe735e0021049a3b04c93ebc0d
Author: Victor Miura <vmiura@chromium.org>
Date: Tue Dec 19 20:23:59 2017

oop: Split viz::ContextProvider interface into GL and Raster interfaces.

viz::ContextProviders currently support both GL and Raster interfaces.
This change splits those interfaces into GL (viz::ContextProvider) and
Raster (viz::RasterContextProvider) interfaces, to prevent invalid
run-time usage of the wrong interface on a 3d context.

All worker contexts in FrameSinks and code below them have been switched to
viz::RasterContextProviders.  Also cleaned up related header includes.

BUG= 757607 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;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: I7cce7a545f3c77938e0a97570cb468a75d7cb945
Reviewed-on: https://chromium-review.googlesource.com/828079
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Tao Bai <michaelbai@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Victor Miura <vmiura@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525126}
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/android_webview/browser/aw_render_thread_context_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/layers/heads_up_display_layer_impl.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/gpu_raster_buffer_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/one_copy_raster_buffer_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/raster_buffer_provider_perftest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/raster_buffer_provider_unittest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/scoped_gpu_raster.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/scoped_gpu_raster.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/staging_buffer_pool.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/raster/staging_buffer_pool.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/resources/display_resource_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/resources/resource_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/resources/resource_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/fake_layer_tree_frame_sink.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/fake_layer_tree_frame_sink.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/layer_tree_pixel_resource_test.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/layer_tree_pixel_test.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/layer_tree_test.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/layer_tree_test.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/test_context_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/test_context_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/test_in_process_context_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/test/test_web_graphics_context_3d.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/tiles/gpu_image_decode_cache.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_frame_sink.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_frame_sink.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_frame_sink_client.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_frame_sink_unittest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_perftest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_pixeltest_blending.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_pixeltest_readback.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_unittest_context.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/client/client_layer_tree_frame_sink.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/client/client_layer_tree_frame_sink.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/common/BUILD.gn
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/common/gpu/context_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/common/gpu/in_process_context_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/common/gpu/in_process_context_provider.h
[add] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/common/gpu/raster_context_provider.cc
[add] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/common/gpu/raster_context_provider.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/service/display/display.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/components/viz/test/test_layer_tree_frame_sink.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/renderer/android/synchronous_layer_tree_frame_sink.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/renderer/layout_test_dependencies.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/content/test/layouttest_support.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/services/ui/public/cpp/gpu/context_provider_command_buffer.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/services/ui/public/cpp/gpu/context_provider_command_buffer.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/third_party/WebKit/Source/platform/graphics/Image.h
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/third_party/WebKit/Source/platform/graphics/VideoFrameResourceProvider.cpp
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/ui/compositor/test/in_process_context_provider.cc
[modify] https://crrev.com/29b7ea3d0495e9fe735e0021049a3b04c93ebc0d/ui/compositor/test/in_process_context_provider.h

Blockedon: 796734
Project Member

Comment 16 by bugdroid1@chromium.org, Dec 21 2017

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

commit ff648861c6c7f56f333cc5ab607839cafc95762e
Author: Victor Miura <vmiura@chromium.org>
Date: Thu Dec 21 04:16:15 2017

cc: Remove support for non-async compositor worker mode.

This change removes compositor worker GLES2 ContextGroup sharing in the Browser
Compositor, and makes async compositor worker mode the only supported mode.

Bug:  796734 , 757607 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I2d3713b8948b5db2d9a437733f4bf58309f2f36e
Reviewed-on: https://chromium-review.googlesource.com/838243
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525598}
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/gpu_raster_buffer_provider.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/one_copy_raster_buffer_provider.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/raster_buffer_provider_perftest.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/raster_buffer_provider_unittest.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/test/layer_tree_pixel_resource_test.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/viz_process_transport_factory.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/gpu/compositor_util.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/public/common/content_switches.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/public/common/content_switches.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/gpu/compositor_dependencies.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/render_thread_impl.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/test/fake_compositor_dependencies.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/test/fake_compositor_dependencies.h

Blockedon: 798839
Project Member

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

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

commit cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b
Author: Victor Miura <vmiura@chromium.org>
Date: Fri Jan 05 04:30:17 2018

Move texture target exception list handling to GPU context capabilities.

This change moves the GLES2 texture target exception lists tracking out of
content / viz / cc, to GPU context capabilities.  The exception list is now
passed from Browser to GPU process via gpu::Preferences, then passed to GPU
clients via gpu::Capabilities.

BUG= 798839 , 757607 

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: Ia09c248290ba58538b49b8895f7b627f3f92ff8d
Reviewed-on: https://chromium-review.googlesource.com/849491
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Victor Miura <vmiura@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527205}
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/ipc/BUILD.gn
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/resources/resource_provider.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/resources/resource_provider.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/test/fake_resource_provider.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/cc/test/layer_tree_test.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/common/BUILD.gn
[delete] https://crrev.com/33bd85d9705a40b4da795d400837134f6a81aff1/components/viz/common/resources/buffer_to_texture_target_map.cc
[delete] https://crrev.com/33bd85d9705a40b4da795d400837134f6a81aff1/components/viz/common/resources/buffer_to_texture_target_map.h
[delete] https://crrev.com/33bd85d9705a40b4da795d400837134f6a81aff1/components/viz/common/resources/buffer_to_texture_target_map_unittest.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/common/resources/resource_settings.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/host/renderer_settings_creation.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/host/renderer_settings_creation.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/service/display/scoped_gpu_memory_buffer_texture.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/components/viz/service/display/scoped_gpu_memory_buffer_texture.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/gpu/compositor_util.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/public/common/content_switches.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/public/common/content_switches.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/gpu/compositor_dependencies.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/pepper/pepper_graphics_2d_host.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/pepper/pepper_graphics_2d_host.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/render_thread_impl.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/test/fake_compositor_dependencies.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/content/test/fake_compositor_dependencies.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/common/capabilities.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/common/gpu_memory_buffer_support.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/common/gpu_memory_buffer_support.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/service/gpu_preferences.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/command_buffer/service/raster_decoder.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/ipc/client/BUILD.gn
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/ipc/common/BUILD.gn
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/ipc/common/gpu_preferences.mojom
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/gpu/ipc/common/gpu_preferences_struct_traits.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/media/video/gpu_video_accelerator_factories.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/services/ui/ws/server_window.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/services/viz/privileged/interfaces/struct_traits_unittest.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/services/viz/public/cpp/compositing/resource_settings_struct_traits.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/services/viz/public/cpp/compositing/resource_settings_struct_traits.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/services/viz/public/interfaces/compositing/resource_settings.mojom
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/aura/mus/mus_context_factory.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/buffer_types.h
[add] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/buffer_types/BUILD.gn
[add] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/buffer_types/OWNERS
[add] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/buffer_types/gfx_ipc_export.h
[add] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/buffer_types/gfx_param_traits.cc
[add] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/buffer_types/gfx_param_traits.h
[add] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/buffer_types/gfx_param_traits_macros.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/ipc/gfx_param_traits_macros.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/mojo/buffer_types.mojom
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/mojo/buffer_types.typemap
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/mojo/buffer_types_struct_traits.cc
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/gfx/mojo/buffer_types_struct_traits.h
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/ozone/BUILD.gn
[modify] https://crrev.com/cabdfac4b8e2ac3283efe34ec4f802c0164cdc6b/ui/ozone/common/gpu/ozone_gpu_messages.h

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 14 2018

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

commit 589575ebd3f15707289cc275acd690dad4c972f6
Author: Victor Miura <vmiura@chromium.org>
Date: Wed Feb 14 21:37:54 2018

Re-enable ContextGL access for GpuImageDecodeCache.

When running with in-process GPU raster, the GpuImageDecodeCache
needs to be able to share textures with the GrContext used for
rasterization.  The context's RasterInterface is changing to disallow this,
so let GpuImageDecodeCache use the GLES2Interface directly when not
in OOP-Raster mode.

BUG= 757607 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ia6a7f021d599e8b2d238ba4b7e8e41069689713e
Reviewed-on: https://chromium-review.googlesource.com/919073
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Victor Miura <vmiura@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536826}
[modify] https://crrev.com/589575ebd3f15707289cc275acd690dad4c972f6/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/589575ebd3f15707289cc275acd690dad4c972f6/components/viz/common/gpu/raster_context_provider.h
[modify] https://crrev.com/589575ebd3f15707289cc275acd690dad4c972f6/content/renderer/render_thread_impl.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 2 2018

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

commit 7f7070dc387269e0901fd4924d0d28fd885e8871
Author: Victor Miura <vmiura@chromium.org>
Date: Fri Mar 02 19:22:24 2018

Simplify raster texture APIs.

BUG= 757607 

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: I55691f59b5a5d73e8762b1567d0689d0580593ed
Reviewed-on: https://chromium-review.googlesource.com/895868
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540583}
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/cc/paint/oop_pixeltest.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/cc/resources/layer_tree_resource_provider.h
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/components/viz/common/gpu/raster_context_provider.h
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/components/viz/common/gpu/texture_allocation.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/BUILD.gn
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_implementation.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_implementation.h
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_implementation_gles.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_implementation_gles.h
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_implementation_gles_unittest.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_implementation_unittest.cc
[modify] https://crrev.com/7f7070dc387269e0901fd4924d0d28fd885e8871/gpu/command_buffer/client/raster_interface.h

Comment 21 by enne@chromium.org, Apr 25 2018

Blockedon: 836916

Comment 22 by enne@chromium.org, Apr 25 2018

Blockedon: 836928

Comment 23 by enne@chromium.org, May 14 2018

Blockedon: -836916
Status: Fixed (was: Started)
I'm calling this done. Feel free to reopen if you disagree.

Sign in to add a comment