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

Issue 2232793002: services/ui: Move cc::SoftwareOutputDevice implementation into the client lib. (Closed)

Created:
4 years, 4 months ago by sadrul
Modified:
4 years, 4 months ago
Reviewers:
rjkroege, Fady Samuel, sky
CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

services/ui: Move cc::SoftwareOutputDevice implementation into the client lib. Move content::SoftwareOutputDeviceMus into the ui client-lib. Change the code to create and own a BitmapUploader for the ui::Window, instead of expecting external code to set it up (NativeWidgetMus used to do this). Rename the ui::SoftwareOutputDevice. This is more consistent with the other cc implementations in the client lib (e.g. ui::OutputSurface, ui::ContextProvider etc.) This also moves BitmapUploader into the internal API. BUG=635613

Patch Set 1 #

Patch Set 2 : . #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -160 lines) Patch
M base/threading/thread_restrictions.h View 2 chunks +0 lines, -4 lines 0 comments Download
M content/browser/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 3 chunks +2 lines, -2 lines 0 comments Download
D content/browser/compositor/software_output_device_mus.h View 1 chunk +0 lines, -36 lines 0 comments Download
D content/browser/compositor/software_output_device_mus.cc View 1 chunk +0 lines, -67 lines 0 comments Download
M services/ui/demo/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/public/cpp/BUILD.gn View 3 chunks +7 lines, -2 lines 2 comments Download
M services/ui/public/cpp/bitmap_uploader.h View 1 chunk +0 lines, -2 lines 0 comments Download
M services/ui/public/cpp/bitmap_uploader.cc View 1 chunk +0 lines, -3 lines 0 comments Download
A + services/ui/public/cpp/software_output_device.h View 1 1 chunk +14 lines, -13 lines 0 comments Download
A + services/ui/public/cpp/software_output_device.cc View 1 2 chunks +15 lines, -29 lines 0 comments Download

Messages

Total messages: 27 (9 generated)
sadrul
rjkroege@chromium.org: Please review the SoftwareOutputDevice* changes. sky@chromium.org: Please review changes specifically about moving BitmapUploader into ...
4 years, 4 months ago (2016-08-10 09:35:21 UTC) #7
sky
https://codereview.chromium.org/2232793002/diff/20001/services/ui/public/cpp/BUILD.gn File services/ui/public/cpp/BUILD.gn (right): https://codereview.chromium.org/2232793002/diff/20001/services/ui/public/cpp/BUILD.gn#newcode90 services/ui/public/cpp/BUILD.gn:90: "//services/ui/demo:mus_demo_library", Why do we want to move bitmap_uploader to ...
4 years, 4 months ago (2016-08-10 15:10:39 UTC) #10
sadrul
https://codereview.chromium.org/2232793002/diff/20001/services/ui/public/cpp/BUILD.gn File services/ui/public/cpp/BUILD.gn (right): https://codereview.chromium.org/2232793002/diff/20001/services/ui/public/cpp/BUILD.gn#newcode90 services/ui/public/cpp/BUILD.gn:90: "//services/ui/demo:mus_demo_library", On 2016/08/10 15:10:39, sky wrote: > Why do ...
4 years, 4 months ago (2016-08-10 15:44:02 UTC) #11
chromium-reviews
On Wed, Aug 10, 2016 at 8:44 AM, <sadrul@chromium.org> wrote: > > https://codereview.chromium.org/2232793002/diff/20001/ > services/ui/public/cpp/BUILD.gn ...
4 years, 4 months ago (2016-08-10 16:57:42 UTC) #12
Fady Samuel
Drive-by: Given we now do accelerated compositing and this is turned on by default, I ...
4 years, 4 months ago (2016-08-10 17:00:19 UTC) #14
Fady Samuel
We don't yet support software compositing in Mus. SoftwareOutputDeviceMus was a hack to get the ...
4 years, 4 months ago (2016-08-10 17:11:07 UTC) #15
sadrul
On 2016/08/10 17:11:07, Fady Samuel wrote: > We don't yet support software compositing in Mus. ...
4 years, 4 months ago (2016-08-10 17:16:24 UTC) #16
Fady Samuel
On 2016/08/10 17:16:24, sadrul wrote: > On 2016/08/10 17:11:07, Fady Samuel wrote: > > We ...
4 years, 4 months ago (2016-08-10 17:41:58 UTC) #17
chromium-reviews
On Wed, Aug 10, 2016 at 10:16 AM, <sadrul@chromium.org> wrote: > On 2016/08/10 17:11:07, Fady ...
4 years, 4 months ago (2016-08-10 17:47:53 UTC) #18
Fady Samuel
On 2016/08/10 17:47:53, chromium-reviews wrote: > On Wed, Aug 10, 2016 at 10:16 AM, <mailto:sadrul@chromium.org> ...
4 years, 4 months ago (2016-08-10 17:50:23 UTC) #19
sadrul
On 2016/08/10 17:50:23, Fady Samuel wrote: > On 2016/08/10 17:47:53, chromium-reviews wrote: > > On ...
4 years, 4 months ago (2016-08-10 18:04:18 UTC) #20
Fady Samuel
On 2016/08/10 18:04:18, sadrul wrote: > On 2016/08/10 17:50:23, Fady Samuel wrote: > > On ...
4 years, 4 months ago (2016-08-10 18:06:31 UTC) #21
sadrul
On 2016/08/10 18:06:31, Fady Samuel wrote: > On 2016/08/10 18:04:18, sadrul wrote: > > On ...
4 years, 4 months ago (2016-08-10 18:31:49 UTC) #22
Fady Samuel
On 2016/08/10 18:31:49, sadrul wrote: > On 2016/08/10 18:06:31, Fady Samuel wrote: > > On ...
4 years, 4 months ago (2016-08-10 18:38:59 UTC) #23
rjkroege
On 2016/08/10 18:38:59, Fady Samuel wrote: > On 2016/08/10 18:31:49, sadrul wrote: > > On ...
4 years, 4 months ago (2016-08-10 18:41:26 UTC) #24
Fady Samuel
On 2016/08/10 18:41:26, rjkroege wrote: > On 2016/08/10 18:38:59, Fady Samuel wrote: > > On ...
4 years, 4 months ago (2016-08-11 12:24:49 UTC) #25
sadrul
I have put up https://codereview.chromium.org/2247013002/ to remove SODMus.
4 years, 4 months ago (2016-08-15 18:06:34 UTC) #26
sadrul
4 years, 4 months ago (2016-08-15 18:16:35 UTC) #27
On 2016/08/11 12:24:49, Fady Samuel wrote:
> On 2016/08/10 18:41:26, rjkroege wrote:
> > On 2016/08/10 18:38:59, Fady Samuel wrote:
> > > On 2016/08/10 18:31:49, sadrul wrote:
> > > > On 2016/08/10 18:06:31, Fady Samuel wrote:
> > > > > On 2016/08/10 18:04:18, sadrul wrote:
> > > > > > On 2016/08/10 17:50:23, Fady Samuel wrote:
> > > > > > > On 2016/08/10 17:47:53, chromium-reviews wrote:
> > > > > > > > On Wed, Aug 10, 2016 at 10:16 AM, <mailto:sadrul@chromium.org>
> > wrote:
> > > > > > > > 
> > > > > > > > > On 2016/08/10 17:11:07, Fady Samuel wrote:
> > > > > > > > > > We don't yet support software compositing in Mus.
> > > > > > > > > SoftwareOutputDeviceMus was
> > > > > > > > > a
> > > > > > > > > > hack to get the browser into software compositing mode, and
> then
> > > we
> > > > > > > > > uploaded
> > > > > > > > > > that bitmap into Mus and did accelerated compositing there.
> > > > > > > > >
> > > > > > > > > On a linux build (config from crbug.com/635613), making a
> > connection
> > > > to
> > > > > > > > > the
> > > > > > > > > gpu-channel fails (haven't looked into why yet). So
> > > > > > > > > GpuProcessTransportFactory
> > > > > > > > > uses a SoftwareOutputDevice (which is how this thing gets
> > created).
> > > > What
> > > > > > > > > is the
> > > > > > > > > alternative to using a SoftwareOutputDevice in this case?
> > > > > > > > >
> > > > > > > > 
> > > > > > > > Software compositing with non-mus looks like gpu compositing,
it's
> > > > > > > > delegated. The output surface just has no ContextProvider on it,
> so
> > > the
> > > > > > > > LTHI produces CompositorFrames with SharedBitmap resources
instead
> > of
> > > GL
> > > > > > > > textures.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > >
> > > > > > > > > https://codereview.chromium.org/2232793002/
> > > > > > > > >
> > > > > > > > 
> > > > > > > > -- 
> > > > > > > > You received this message because you are subscribed to the
Google
> > > > Groups
> > > > > > > > "Chromium-reviews" group.
> > > > > > > > To unsubscribe from this group and stop receiving emails from
it,
> > send
> > > > an
> > > > > > > email
> > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org.
> > > > > > > 
> > > > > > > Yup, the missing piece in Mus is the ability to dispense
> SharedBitmaps
> > > to
> > > > > > > clients. We don't yet have/use a SharedBitmapManager in Mus.
> > > > > > 
> > > > > > Do we still want to have the SoftwareOutputDevice until we have
that?
> > > > > 
> > > > > We certainly wouldn't be using it the way it's written in the future.
> That
> > > > uses
> > > > > a BitmapUploader which uses gl to upload a texture.
> > > > 
> > > > Right. So it sounds like it'd be better to not expose the BitmapUploader
> to
> > > the
> > > > external API. But we would still need to provide a SoftwareOutputDevice
> for
> > > now?
> > > 
> > > I don't see how we're using it now? That seems like a bug. My inclination
is
> > to
> > > say no, we don't need a SoftwareOutputDevice until we implement software
> > > compositing. When we do introduce it, it'll be an implementation detail
> within
> > > Mus, not part of the public API.
> > 
> > +1. I think it's time that SoftwareOutputDeviceMus went away. (At least in
> > theory) this
> > should now be dead code.
> 
> I think if you delete SoftwareOutputDeviceMus then the only thing using
> bitmap_uploader is mus_demo so that could be part of mus_demo instead of the
> client lib. We shouldn't be encouraging the use of bitmap_uploader.

Doing that in https://codereview.chromium.org/2247023002/

Powered by Google App Engine
This is Rietveld 408576698