33 Commits

Author SHA1 Message Date
Adam Barth
9c09565712 Update paths to account for buildroot 2016-08-09 13:52:15 -07:00
Adam Barth
5f75e0bf30 Remove more //base dependencies from //sky/shell (#2889)
This patch hides the base::SingleThreadedTaskRunner, which pulls a big
switchover to ftl::WeakPtr and std::function.
2016-08-08 20:00:37 -07:00
Adam Barth
4fa03ded48 Remove //base dependencies from //sky/shell (#2888) 2016-08-08 14:58:25 -07:00
Jason Simmons
d4b9ce9797 Unblock the Mojo main thread during rasterizer setup (#2868)
Fixes https://github.com/flutter/flutter/issues/4957
2016-08-04 16:52:54 -07:00
Chinmay Garde
fe69b034c0 Remove dependencies on ui, third_party/mesa and mojo/convertors. Provide simple alternatives. (#2783) 2016-07-12 14:47:44 -07:00
Adam Barth
6e3228cf81 Revert "Record layer tree to an SkPicture before rasterization (#2628)"
This reverts commit 5bc5c7b5246d62af70780ec7ba0203ac3f318226.

This commit appears to have caused
https://github.com/flutter/flutter/issues/3658
2016-05-01 14:23:13 -07:00
Adam Barth
5bc5c7b524 Record layer tree to an SkPicture before rasterization (#2628)
This lets Skia run an optimization pass over the SkPicture before actually
issuing GL commands.
2016-04-28 10:15:38 -07:00
James Robinson
24adf9dbdc Merge pull request #2611 from jamesr/better_tracing
Improve tracing in graphics stack, esp on Mojo
2016-04-22 12:38:55 -07:00
Adam Barth
b9ff394182 Break dependency from Layer to PaintContext (#2609)
Instead, make Layer::Paint take a new PaintContext that has just exactly
the state that it needs, mirroring PrerollContext. Also, rename
PaintContext to CompositorContext because it holds the context for the
whole compositor.
2016-04-21 23:05:41 -07:00
Adam Barth
dda79d0312 Fix style in //flow/instrumentation (#2608)
This patch makes these files better match Google C++ style.

Also, add the engine lap time when running on Mojo.
2016-04-21 22:36:46 -07:00
Tony Gentilcore
4062813e70 Set GLContext before calling MGLEcho. 2016-04-21 15:57:21 -07:00
Adam Barth
70d40c91d3 Use MGLEcho to provide back pressure for Mozart (#2606)
Related to https://github.com/domokit/mojo/issues/684
2016-04-21 14:25:00 -07:00
Adam Barth
d813b3d58c Update to mojo a37b8c21cedc3d1b94f7be276e513cdea88e09ac 2016-04-21 14:12:34 -07:00
Jason Simmons
7182341f85 Merge pull request #2579 from jason-simmons/skia_skp_capture
Add an HTTP server for exporting Flutter debug info and a request han…
2016-04-06 10:22:46 -07:00
Adam Barth
2123899cc6 Jank insted of flicker in Mozart
Currently there's no good way of synchronizing layout changes with children in

Mozart. Previously we flickered when we were out of sync with our child. Now we

jank instead because that's a more acceptable artifact while we work on

improving Mozart.



Fixes https://github.com/flutter/flutter/issues/3024
2016-04-04 12:17:39 -07:00
Adam Barth
3f7d5ef6f8 Update code to account for Mozart changes
The layout protocol in Mozart changed. Now we need to pipe a scene version
through the system to the compositor.
2016-03-30 15:13:58 -07:00
Adam Barth
e3c3be1c21 Handle 0x0 sizes in Mozart
When we're created off-screen, Mozart gives us a 0x0 view to populate. Rather
than trying to draw a 0x0 texture, we just acknolwedge the frame request
immediately. This matches what we do in the non-Mozart rasterizer.
2016-03-15 13:37:17 -07:00
Adam Barth
3f4224d069 Update mojo_sdk 2016-03-10 12:58:18 -08:00
Adam Barth
e416866484 Enable Mozart hit testing
We now mark our root node as opaque to hit testing. We don't seem to be getting
events in child views, however.
2016-03-04 11:21:51 -08:00
Adam Barth
d3dbc1cda4 Polish Mojo platform implementation
* Use Node::Combinator::PRUNE, which stops the Mozart launcher from showing red
  when we're loading child views. Instead of blocking the whole app, we'll now
  just prune away the children that aren't ready. Eventually we'll want
  to let authors control these operations.

* Grab the service registry in AcceptConnection rather than CreateView. The
  CreateView comes from the Mozart launcher, which isn't where we want to get
  the service registry. Now we get the service registry from the first app to
  connect, which isn't right either but at least works while we sort out what
  we really want.
2016-02-11 12:43:37 -08:00
Adam Barth
4b921cbb5e Make Mozart draw child views
Previously we weren't factoring in the layer's offset properly and we were
drawing the child views below the background layer.
2016-02-08 14:36:38 -08:00
Adam Barth
e3bf0fa3c1 Include child scenes when uploading to Mozart
Previously we just dropped child scenes on the floor. Now we upload them
to Mozart. However, we just draw them on top of all the other content
and don't apply any clips or blends.
2016-02-03 14:16:09 -08:00
Adam Barth
411c6bfa4b Port flutter.mojo to Mozart
Everything should work except the keyboard.
2016-01-28 16:04:19 -08:00
Adam Barth
142c5dc5ec Remove almost all uses of base::scoped_ptr
We now use std::unique_ptr more consistently.
2016-01-27 01:05:47 -08:00
Adam Barth
0b629d419f Move //sky/compositor to //flow
Now that the compositor doesn't have any tricky deps, we can make it a
top-level project, which saves a bunch of typing.
2016-01-12 22:39:51 -08:00
Adam Barth
2e5d3c4977 Preroll rasterization
Prerolling the rasterization tasks reduces the number of render target
switches because we don't interrupt the main render target.
2016-01-08 13:17:13 -08:00
Adam Barth
198094e427 Fix crash with empty rect
Don't attempt to draw with a zero-by-zero window.
2015-12-08 14:46:35 -08:00
Adam Barth
535afcb092 Improve the crash fix in rasterizer_mojo
The previous version can still crash if we try to draw between the time when we
initialize context_ and when we actually make the MGL context current.
2015-12-08 12:51:50 -08:00
Adam Barth
535eb30855 Don't crash when RasterizerMojo::Draw happens without a context
If we don't have a context, we can't draw, so bail out early.
2015-12-08 11:32:30 -08:00
Florian Loitsch
372355ad22 Make rasterizer a mojo service. 2015-12-02 16:28:39 -08:00
Collin Jackson
0904164fd6 Fix https://github.com/flutter/flutter/issues/371 renaming "sky" and "chromium" to "flutter" in logs and Mac Shell UI 2015-11-16 14:54:18 -08:00
Adam Barth
56601fcfa3 Wire sky_shell.mojo to draw via MGL
After this patch, we can execute Dart code and draw the result via MGL. We
still need to plumb in services.
2015-11-14 07:42:25 -08:00
Adam Barth
96b847cd43 Wire sky_shell.mojo up to native_viewport
After this patch, we can execute Dart code an create an X window. There's a
sketch of some graphics code, but it's not wired up yet.
2015-11-13 14:00:34 -08:00