New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 769423 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 772574

Blocking:
issue 738190



Sign in to add a comment

Replace TextureMailbox with TransferableResource?

Project Member Reported by danakj@chromium.org, Sep 27 2017

Issue description

Currently cc::LayerTreeHost clients pass resources to cc via the TextureMailbox class. This class can hold cpu or gpu sharable resources, and we pass it into the cc::LayerTreeResourceProvider which turns it into a TransferableResource to bounce it through to the viz service/display compositor.

Meanwhile viz::Surface clients pass resources to viz via the TransferableResource class. This class can also hold cpu or gpu sharable resources, and they are forwarded through to the viz service/display compositor as is.

There's a ton of similarity between the TextureMailbox and TransferableResource, and we should be able to use just one of these. This would provide symmetry between the cc clients and the surface clients.

We have some initial thoughts around surface clients using some ClientResourceProvider or some factory code to generate TransferableResource. Then cc clients would use the same thing to generate them, and pass them into cc.

cc's ResourceProvider would need to receive TransferableResources instead of TextureMailboxes. It could treat these more independently, forwarding them along but not assigning them ResourceIds of its own (you can't lock for read/write these inside cc then - we don't). This simplifies the ResourceProvider from having currently multiple forms of RemotableResources with an internal vs external vs delegated enum. External+delegated resources would combine into a separate thing entirely, and only internal resources would be assigned ResourceIds and lockable.

The effects on Pepper/Canvas/WebGL should just be the format that they generate changing, without any larger consequences to their code.

The majority of the change would, I think, be TextureLayer{Impl} changing its storage type to TransferrableResource, ResourceProvider growing a separate storage for transferable things, and the ability to specify a foreign TransferableResource to transport to parent.

Open questions:

1. It would be possible for TextureLayer to skip the cc ResourceProvider entirely then. But if it did, how would we hook up the ReturnedResources callback to the CompositorFrameSinkClient (ie LayerTreeHostImpl) to the TextureLayer for its TransferableResource.

2. Otherwise, TextureLayer could tell ResourceProvider about the TransferableResource and ResourceProvider would hear about it being returned. How would ResourceProvider tell that the returned ResourceId was for the TransferableResource as the ids are a different namespace and could collide with its own local ids.

Possible solution to these:
- TextureLayer passes TransferableResource to ResourceProvider and gets back a new local ResourceId.
- ResourceProvider stores a separate map of these ids to the original TransferableResource+ReleaseCallback.
- TextureLayer uses the local ResourceId in its quads.
- When the local ResourceId is returned to ResourceProvider it doesn't find it in |resources_| so it looks for it in |transferable_resources_|, finds it, and calls the ReleaseCallback back to the TextureLayer and its client.
 

Comment 1 by danakj@chromium.org, Sep 27 2017

Cc: vmp...@chromium.org enne@chromium.org
Components: Internals>Compositing
Labels: -Pri-3 Pri-2

Comment 2 by danakj@chromium.org, Sep 27 2017

Cc: -xing.xu@chromium.org xing...@intel.com

Comment 3 by danakj@chromium.org, Sep 27 2017

It's worth noting that the DisplayResourceProvider should get ResourceIds from  TransferableResources in it, but it needs to do more than pass them through, as it turns them into resources that can be locked for read(/write?). So I don't think anything is shared in this solution with LayerTreeResourceProvider.

Comment 4 by danakj@chromium.org, Sep 27 2017

If we changed all TextureLayer clients to instead speak to viz::Surfaces then this work would be obsoleted, and TextureMailbox would just become dead code. However Pepper/Canvas/WebGL need to be synchronized with cc frames, so they don't get the performance benefits of surface isolation, and the work to convert them would be more than this work. So it's my feeling that its better to do this than to convert them to surfaces.
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 3 2017

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

commit d66b8f55c7a9aa01b720f99792bdc86f4243b5bb
Author: danakj <danakj@chromium.org>
Date: Tue Oct 03 16:29:53 2017

cc: Pass LayerTreeResourceProvider to LayerImpl WillDraw/DidDraw.

The type is a LayerTreeResourceProvider*, but it's upcasting it to a
ResourceProvider* right now. Stop doing this so layers can use all the
functionality of LayerTreeResourceProvider.

R=enne@chromium.org

Bug:  769423 
Change-Id: Ibf3066acee7a498d61bc4db5e732aedfc279f654
Reviewed-on: https://chromium-review.googlesource.com/692721
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506066}
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/heads_up_display_layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/heads_up_display_layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/heads_up_display_layer_impl_unittest.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/painted_overlay_scrollbar_layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/painted_overlay_scrollbar_layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/painted_scrollbar_layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/painted_scrollbar_layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/texture_layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/texture_layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/ui_resource_layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/ui_resource_layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/layers/video_layer_impl.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/test/layer_test_common.h
[modify] https://crrev.com/d66b8f55c7a9aa01b720f99792bdc86f4243b5bb/cc/trees/layer_tree_host_impl_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 3 2017

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

commit 61f661ee35d45784945fe55214c26bbd099f8f87
Author: danakj <danakj@chromium.org>
Date: Tue Oct 03 19:46:36 2017

Remove secure output flag from TextureLayer and TextureMailbox

This flag was used by exo to specify that the layer's output should
not be shown on insecure devices or in screenshots. However exo now
passes this data directly to the TextureDrawQuad it makes itself in
exo::Surface::AppendContentsToFrame(), since it generates a frame
directly to give to a CompositorFrameSink. All creators left of
TextureMailbox do not set this flag.

https://codereview.chromium.org/2066493004 changes exo to use
surfaces instead of TextureLayer.

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I1a7e8cee95e5b8460e55daeb61c90acff61be59a
Reviewed-on: https://chromium-review.googlesource.com/692568
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506147}
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/cc/layers/texture_layer.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/cc/layers/texture_layer.h
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/cc/layers/texture_layer_impl.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/cc/layers/texture_layer_impl.h
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/cc/layers/texture_layer_impl_unittest.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/components/viz/common/quads/texture_mailbox.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/components/viz/common/quads/texture_mailbox.h
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/components/viz/service/display/gl_renderer_unittest.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/components/viz/service/display/overlay_unittest.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/content/renderer/pepper/ppb_graphics_3d_impl.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/services/viz/public/cpp/compositing/texture_mailbox_struct_traits.h
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/services/viz/public/interfaces/compositing/texture_mailbox.mojom
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/61f661ee35d45784945fe55214c26bbd099f8f87/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp

Blocking: 738190
Blockedon: 772574
TextureLayerImpl has mailbox ties to ResourceProvider because it does texture uploads if it gets a software frame.

Pepper2d depends on this for getting frames to the gpu when compositing is gpu. https://chromium-review.googlesource.com/c/chromium/src/+/692999 fixes that but pointed out that clients can't really tell what compositing mode to use reliably and we don't want to try make a context every frame for pepper (!!!). So https://bugs.chromium.org/p/chromium/issues/detail?id=772574 will address that first.
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 14 2017

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

commit cfab550a8e384b0e43fd104121a9be7a0a4db968
Author: danakj <danakj@chromium.org>
Date: Tue Nov 14 22:57:28 2017

Remove codepath to upload software bitmaps in TextureLayerImpl.

This was a fallback for cases where the renderer process was in
software compositing mode, but the browser process was in GL
compositing mode. Because the renderer submitted a TextureMailbox
to the browser, this path would kick in, so the user still got to
see the renderer's content. Now renderers don't use TextureLayer at
all so this should be dead code.

If it does happen, it would be from canvas or pepper getting out of
sync with the compositor wrt the mode to be in, or a ui client such
as the reflector. But each of these watch the context to make sure
they use the same mode as the compositor in their process.

R=piman@chromium.org

Bug:  769423 ,  229712 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I90cd85e21a8619c7bab14e76da73205c5ef41c6d
Reviewed-on: https://chromium-review.googlesource.com/692999
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516478}
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/cc/layers/texture_layer_impl.cc
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/cc/layers/texture_layer_impl.h
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/content/renderer/pepper/pepper_graphics_2d_host.cc
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/content/renderer/pepper/pepper_graphics_2d_host.h
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/third_party/WebKit/Source/platform/DEPS
[modify] https://crrev.com/cfab550a8e384b0e43fd104121a9be7a0a4db968/third_party/WebKit/Source/platform/graphics/OffscreenCanvasResourceProvider.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 15 2017

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

commit c0bb5ec1f0d1a999dae3b982297b2e87675af8e7
Author: danakj <danakj@chromium.org>
Date: Wed Nov 15 03:49:38 2017

Allow giving TransferableResource as an input for cc.

This lets LayerTreeResourceProvider accept a TransferableResource
in order to generate a ResourceId. Then, when exported as part of
a CompositorFrame, the TransferableResource is forwarded into the
CompositorFrame.

This can replace the use of TextureMailbox for passing resources
into the layer compositor for forwarding through to the display
compositor. Since the layer compositor always forwards resources,
it has no need of any other data format, and can just pass along
the TransferableResource verbatim (with a ResourceId change to
the local ResourceProvider's namespace).

Next steps from here would be to change cc clients to pass a
TransferableResource instead of a TextureMailbox through the
TextureLayer. Then remove all concept of "external" resources
in ResourceProvider, as resources usable by the ResourceProvider
client will always be "internal" in the layer compositor, and
will always be internal or delegated (soon to be always
delegated hopefully) in the display compositor.

R=piman@chromium.org

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I3d8674fbd7ab6830f52ba99c5ce4459d0c5241c8
Reviewed-on: https://chromium-review.googlesource.com/691080
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516587}
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/BUILD.gn
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/layers/layer_impl.cc
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/resources/layer_tree_resource_provider.h
[add] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/resources/layer_tree_resource_provider_unittest.cc
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/resources/resource_provider.cc
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/resources/resource_provider.h
[modify] https://crrev.com/c0bb5ec1f0d1a999dae3b982297b2e87675af8e7/cc/test/test_shared_bitmap_manager.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 17 2017

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

commit db524979f0126a94addc14143ae802c78ea78937
Author: danakj <danakj@chromium.org>
Date: Fri Nov 17 17:11:36 2017

Replace TextureMailbox with TransferableResource for video layers

This eliminates one set of TextureMailbox uses, toward getting rid of
the class, which overlaps with TransferableResource and forces extra
plumbing and knowledge of types.

We can remove the Android-specific fields from TextureMailbox with
this, as they were only used for video, and can now go directly to
TransferableResource instead of requiring extra plumbing through
TextureMailbox.

R=piman@chromium.org

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I227b16a2073a0b7d27f082d1d650dbb6016246d5
Reviewed-on: https://chromium-review.googlesource.com/773062
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517436}
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/layers/video_layer_impl.h
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/resource_provider.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/resource_provider.h
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/video_resource_updater.h
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/components/viz/common/quads/texture_mailbox.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/components/viz/common/quads/texture_mailbox.h
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/components/viz/common/resources/transferable_resource.h
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/components/viz/service/display/renderer_pixeltest.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/services/viz/public/cpp/compositing/texture_mailbox_struct_traits.h
[modify] https://crrev.com/db524979f0126a94addc14143ae802c78ea78937/services/viz/public/interfaces/compositing/texture_mailbox.mojom

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 18 2017

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

commit f8c901b6446ab9e147bc8c462d07fe42a2abf17d
Author: danakj <danakj@chromium.org>
Date: Sat Nov 18 01:41:47 2017

Report exported/lost ImportedResources as lost in the ReleaseCallback.

The test for this is in https://chromium-review.googlesource.com/c/chromium/src/+/775759
which converts all TextureMailbox-based tests over to ImportedResources.

R=piman@chromium.org

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I9eefcd5a8783a6c2359fb46e1e2efb076302f13e
Reviewed-on: https://chromium-review.googlesource.com/777695
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517670}
[modify] https://crrev.com/f8c901b6446ab9e147bc8c462d07fe42a2abf17d/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/f8c901b6446ab9e147bc8c462d07fe42a2abf17d/cc/resources/layer_tree_resource_provider_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 20 2017

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

commit 50bb7fafcb04e4a7414e4185da065b199c637d0c
Author: danakj <danakj@chromium.org>
Date: Mon Nov 20 22:04:07 2017

Fix use-after-free when returning resources to child.

ASAN tests uncovered that we are using a stack variable after its
gone out of scope. Instead of sticking a pointer to the stack variable
into a vector, store the index of the vector, then use a pointer to
the data in the vector which is valid instead.

Adds a unit test that hits the code path by receiving a resource
from a child, and returning it, and checking that the sync token
is verified.

R=piman@chromium.org, sunnyps@chromium.org, vmiura@chromium.org

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I6a6b3373903e8762e1edcb82ee37b0e8b2939de9
Reviewed-on: https://chromium-review.googlesource.com/779482
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Victor Miura <vmiura@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517944}
[modify] https://crrev.com/50bb7fafcb04e4a7414e4185da065b199c637d0c/cc/resources/display_resource_provider.cc
[modify] https://crrev.com/50bb7fafcb04e4a7414e4185da065b199c637d0c/cc/resources/resource_provider_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 20 2017

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

commit 5df8257fa86cd90614aa6d9f0825a3640e15d062
Author: danakj <danakj@chromium.org>
Date: Mon Nov 20 22:16:58 2017

Pass TransferableResource through TextureLayer

Instead of constructing a TextureMailbox, which ResourceProvider
then converts into a TransferableResource later (via much logic)
have cc::TextureLayerClients give the layer a TransferableResource
directly.

For now clients of ui::Layer still speak in TextureMailboxes to
try limit the scope of the CL a bit. ui::Layer uses a new method
on TextureLayer to convert them into TransferableResource to hand
to cc::TextureLayer.

Bug:  769423 
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
Change-Id: I29d1aa85028145601e9b64a724ef8695af4c0d35
Reviewed-on: https://chromium-review.googlesource.com/691280
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517949}
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/build/sanitizers/tsan_suppressions.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer_client.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer_impl.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer_impl.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer_impl_unittest.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/trees/layer_tree_host_perftest.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/cc/trees/layer_tree_host_unittest_context.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/components/viz/common/quads/DEPS
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/components/viz/common/quads/texture_mailbox.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/components/viz/common/quads/texture_mailbox.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/components/viz/common/resources/transferable_resource.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/browser/compositor/reflector_impl_unittest.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/renderer/pepper/pepper_compositor_host.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/renderer/pepper/pepper_graphics_2d_host.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/renderer/pepper/pepper_graphics_2d_host.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/renderer/pepper/pepper_plugin_instance_impl.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/renderer/pepper/ppb_graphics_3d_impl.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/shell/test_runner/test_plugin.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/content/shell/test_runner/test_plugin.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/CanvasResourceProvider.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/CanvasResourceProvider.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferSoftwareRenderingTest.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/gpu/ImageLayerBridge.cpp
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/third_party/WebKit/Source/platform/graphics/gpu/ImageLayerBridge.h
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/ui/compositor/layer.cc
[modify] https://crrev.com/5df8257fa86cd90614aa6d9f0825a3640e15d062/ui/compositor/layer.h

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 20 2017

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

commit 6b082cc1f608071048b890e9422401c19778240e
Author: danakj <danakj@chromium.org>
Date: Mon Nov 20 22:32:12 2017

Remove TextureMailbox resources from ResourceProvider

All external resources are now imported as TransferableResource.
This updates all unit tests to do the same, and adds test cases
for shutdown with imported resources.

Fields in viz::internal::Resource that are no longer needed
without TextureMailbox resources are removed.

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I96e61575f83807ba661d25afa575ad6d0abe7636
Reviewed-on: https://chromium-review.googlesource.com/775759
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517955}
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/resources/layer_tree_resource_provider.h
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/resources/layer_tree_resource_provider_unittest.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/resources/resource_provider.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/resources/resource_provider.h
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/test/render_pass_test_utils.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/test/test_web_graphics_context_3d.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/components/viz/common/resources/resource.h
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/components/viz/common/resources/transferable_resource.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/components/viz/common/resources/transferable_resource.h
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/components/viz/service/display/gl_renderer_unittest.cc
[modify] https://crrev.com/6b082cc1f608071048b890e9422401c19778240e/components/viz/service/display/overlay_unittest.cc

Project Member

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

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

commit 14d78f717c78b39d7a59534cc6441316195ed7f4
Author: danakj <danakj@chromium.org>
Date: Tue Nov 21 01:20:07 2017

Rename ResourceProvider tests with TextureMailbox names

Change these to ImportedResource to explain what they are testing now.

R=piman@chromium.org

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I9597a821b9dbffe9e3c57f01bb619ffc30309d1b
Reviewed-on: https://chromium-review.googlesource.com/780183
Commit-Queue: Antoine Labour <piman@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518012}
[modify] https://crrev.com/14d78f717c78b39d7a59534cc6441316195ed7f4/cc/resources/resource_provider_unittest.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 21 2017

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

commit 7fb2f14796c6beed31c14ee01d53423d08b8c30f
Author: danakj <danakj@chromium.org>
Date: Tue Nov 21 01:36:15 2017

Rename TextureLayer's TextureMailboxHolder to TransferableResourceHolder

Since that is what it does now.

R=enne@chromium.org

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I40d09bea273621c465c1186f4bd89771847ea7ea
Reviewed-on: https://chromium-review.googlesource.com/780459
Commit-Queue: danakj <danakj@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518040}
[modify] https://crrev.com/7fb2f14796c6beed31c14ee01d53423d08b8c30f/cc/layers/texture_layer.cc
[modify] https://crrev.com/7fb2f14796c6beed31c14ee01d53423d08b8c30f/cc/layers/texture_layer.h
[modify] https://crrev.com/7fb2f14796c6beed31c14ee01d53423d08b8c30f/cc/layers/texture_layer_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 21 2017

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

commit 4957a2278b0a40e178f6814b15261adf955246ad
Author: danakj <danakj@chromium.org>
Date: Tue Nov 21 17:23:10 2017

Change ui::Layer API to take TransferableResource

Instead of TextureMailbox, which it converts, it can take a
TransferableResource directly. This leaves TextureMailbox as only
used for Gpu-backed CopyOutputResults. Code that uses that as an
input for ui::Layer does the conversion itself for now.

R=piman@chromium.org
TBR=reveman@chromium.org

Bug:  769423 
Change-Id: Id4ab7462d7f7c98dd834f746605e520be23696e7
Reviewed-on: https://chromium-review.googlesource.com/780241
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518288}
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/ash/rotator/screen_rotation_animator.cc
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/components/exo/buffer.cc
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/components/exo/buffer.h
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/content/browser/compositor/reflector_impl.cc
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/ui/compositor/layer.cc
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/ui/compositor/layer.h
[modify] https://crrev.com/4957a2278b0a40e178f6814b15261adf955246ad/ui/compositor/layer_unittest.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 21 2017

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

commit e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8
Author: danakj <danakj@chromium.org>
Date: Tue Nov 21 20:19:49 2017

Fix task runner usage in GLRenderer and rename TextureMailboxDeleter.

TextureMailboxDeleter has nothing to do with the now-defunct
TextureMailbox, it just deletes textures. So name it so.

While doing so we uncovered a use of base::ThreadTaskRunnerHandle::Get()
in GLRenderer, which may not be the same task runner given to the
compositor to run its tasks on, so change things to plumb in the
task runner to GLRenderer. Then creators of GLRenderer do not need
to make a TextureDeleter anymore, so have GLRenderer do that itself.

While sorting this out, clean up the GLRendererCopier tests to not
subclass GLRendererPixelTest, and make and destroy a GLRenderer.
Instead subclass PixelTest and make only the things it needs.

R=ccameron@chromium.org
TBR=boliu

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I15a93b3f858fd52272341e19edf8e5ed989721dd
Reviewed-on: https://chromium-review.googlesource.com/782403
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518359}
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/android_webview/browser/surfaces_instance.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/cc/test/pixel_test.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/cc/test/pixel_test.h
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/BUILD.gn
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/display.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/display.h
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/gl_renderer.h
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/gl_renderer_copier.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/gl_renderer_copier.h
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/gl_renderer_copier_pixeltest.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/gl_renderer_unittest.cc
[rename] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/texture_deleter.cc
[rename] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/texture_deleter.h
[rename] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display/texture_deleter_unittest.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/display_embedder/gpu_display_provider.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/e3d0e8751ff6a65a0d5aaae3b9cefd254e95d3e8/ui/compositor/test/in_process_context_factory.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 22 2017

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

commit 6ec0d1839a3526a2f6e8b3a232de585c399e165c
Author: danakj <danakj@chromium.org>
Date: Wed Nov 22 01:39:19 2017

Remove TextureMailbox from names/comments in PepperPluginInstanceImpl

This class is using gpu::Mailboxes directly already, some leftovers
I found with grep can be cleaned up.

R=enne@chromium.org, piman@chromium.org
TBR=piman

Bug:  769423 
Change-Id: I73a55b7728d5d0fc0a1a52f794f6392f7dbb1d00
Reviewed-on: https://chromium-review.googlesource.com/783315
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518493}
[modify] https://crrev.com/6ec0d1839a3526a2f6e8b3a232de585c399e165c/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/6ec0d1839a3526a2f6e8b3a232de585c399e165c/content/renderer/pepper/pepper_plugin_instance_impl.h

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 22 2017

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

commit f0a543b7ba2243300fb4b14168464469208393f1
Author: danakj <danakj@chromium.org>
Date: Wed Nov 22 21:55:32 2017

Remove TextureMailbox from CopyOutputResult.

The result now holds a gpu::Mailbox, gpu::SyncToken, and
gfx::ColorSpace directly. TextureMailbox had a lot of
other fields which were never used.

Also try to make the CopyOutputResult mojom definition more
clear about which fields are present when, and enforce
that in the struct traits.

R=dcheng@chromium.org, enne@chromium.org, piman@chromium.org
TBR=kbr

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ib405fc7bda4896ed463ca5ca524049c42bcf7b3a
Reviewed-on: https://chromium-review.googlesource.com/783775
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: OOO(back on 11/27)Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518762}
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/ash/DEPS
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/ash/rotator/screen_rotation_animator.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/cc/test/layer_tree_pixel_test.h
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/cc/trees/layer_tree_host_pixeltest_readback.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/components/viz/common/frame_sinks/copy_output_result.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/components/viz/common/frame_sinks/copy_output_result.h
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/components/viz/service/display/gl_renderer_copier.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/components/viz/service/display/gl_renderer_copier_pixeltest.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/content/browser/compositor/surface_utils.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/content/browser/media/capture/aura_window_capture_machine.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/services/viz/public/cpp/compositing/copy_output_result_struct_traits.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/services/viz/public/cpp/compositing/copy_output_result_struct_traits.h
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/services/viz/public/interfaces/BUILD.gn
[modify] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/services/viz/public/interfaces/compositing/copy_output_result.mojom
[rename] https://crrev.com/f0a543b7ba2243300fb4b14168464469208393f1/services/viz/public/interfaces/compositing/texture_releaser.mojom

Project Member

Comment 22 by bugdroid1@chromium.org, Nov 22 2017

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

commit dbecbfc2e03790c5505e9ac7436a5f29631dda4b
Author: danakj <danakj@chromium.org>
Date: Wed Nov 22 23:20:58 2017

Remove TextureMailbox from CopyOutputRequest.

TextureMailbox has a lot of fields which were not used. Just pass
a Mailbox and SyncToken on CopyOutputRequest. The target is removed
from OwnedMailbox and the assumption that it is GL_TEXTURE_2D is
documented in the CopyOutputRequest header.

R=dcheng@chromium.org, enne@chromium.org, miu@chromium.org
TBR=sadrul

Bug:  769423 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I2266b936c6d6b5810c893df3e6b66f7e880fdc7d
Reviewed-on: https://chromium-review.googlesource.com/786339
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518796}
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/components/viz/common/frame_sinks/copy_output_request.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/components/viz/common/frame_sinks/copy_output_request.h
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/components/viz/common/frame_sinks/copy_output_result.h
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/components/viz/service/display/gl_renderer_copier.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/components/viz/service/display/gl_renderer_copier.h
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/content/browser/compositor/owned_mailbox.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/content/browser/compositor/owned_mailbox.h
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/services/viz/public/cpp/compositing/copy_output_request_struct_traits.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/services/viz/public/cpp/compositing/copy_output_request_struct_traits.h
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/dbecbfc2e03790c5505e9ac7436a5f29631dda4b/services/viz/public/interfaces/compositing/copy_output_request.mojom

Project Member

Comment 23 by bugdroid1@chromium.org, Nov 23 2017

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

commit 33d8fbb5e571e9c278d5e14f673c310290373460
Author: danakj <danakj@chromium.org>
Date: Thu Nov 23 17:50:36 2017

Delete viz::TextureMailbox.

This class is no longer used, superceded by more specific smaller
pieces of data, or TransferableResource for passing resources to the
cc layer compositor.

R=dcheng@chromium.org, enne@chromium.org
TBR=jam

Bug:  769423 
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
Change-Id: I20384aaa103bb49f02a4b0c5721821b32ed7a665
Reviewed-on: https://chromium-review.googlesource.com/786303
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518974}
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/cc/resources/resource_provider.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/cc/trees/layer_tree_host_perftest.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/exo/buffer.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/BUILD.gn
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/frame_sinks/DEPS
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/frame_sinks/copy_output_request.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/frame_sinks/copy_output_request.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/frame_sinks/copy_output_result.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/quads/DEPS
[delete] https://crrev.com/6dba2e10b9d281caebaa25985662441eb6fc2588/components/viz/common/quads/texture_mailbox.cc
[delete] https://crrev.com/6dba2e10b9d281caebaa25985662441eb6fc2588/components/viz/common/quads/texture_mailbox.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/components/viz/common/resources/resource.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/content/renderer/pepper/pepper_compositor_host.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/media/renderers/video_overlay_factory.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/services/viz/public/cpp/compositing/copy_output_request_struct_traits.cc
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/services/viz/public/cpp/compositing/copy_output_request_struct_traits.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[delete] https://crrev.com/6dba2e10b9d281caebaa25985662441eb6fc2588/services/viz/public/cpp/compositing/texture_mailbox.typemap
[delete] https://crrev.com/6dba2e10b9d281caebaa25985662441eb6fc2588/services/viz/public/cpp/compositing/texture_mailbox_struct_traits.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/services/viz/public/cpp/compositing/typemaps.gni
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/services/viz/public/interfaces/BUILD.gn
[delete] https://crrev.com/6dba2e10b9d281caebaa25985662441eb6fc2588/services/viz/public/interfaces/compositing/texture_mailbox.mojom
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/third_party/WebKit/Source/platform/graphics/CanvasResource.cpp
[modify] https://crrev.com/33d8fbb5e571e9c278d5e14f673c310290373460/third_party/WebKit/Source/platform/graphics/CanvasResource.h

Status: Fixed (was: Started)

Sign in to add a comment