40 Commits

Author SHA1 Message Date
Chinmay Garde
a413ef0bb0 If GrGLContext setup fails, log OpenGL platform specific information. (#2897) 2016-08-10 11:26:26 -07:00
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
Adam Barth
410bc4c313 Remove skia::RefPtr (#2851)
Also, remove the hacks that integrate Skia ref counting with WTF. Now we
just use sk_sp everywhere for managing Skia ref counts.
2016-08-01 22:21:37 -07:00
Adam Barth
d6476a65c3 Port //flow to //lib/ftl (#2847)
This patch removes almost all //base dependency of //flow. The only dependency
left is on tracing.
2016-08-01 15:11:56 -07:00
Jason Simmons
3dac5a71ea Drop the last layer tree when tearing down the rasterizer (#2836)
The LayerTree may be holding references to obsolete Skia/GPU resources,
notably the GrGLGpu.  The old GrGLGpu should be deleted before a new
GrGLGpu is created during the next rasterizer setup.

Fixes https://github.com/flutter/flutter/issues/5074
2016-07-27 15:31:50 -07:00
Adam Barth
7c87227702 Update Skia (#2825) 2016-07-26 12:33:37 -07:00
Adam Barth
11dd5cada9 Add trace events to swap buffers (#2823) 2016-07-26 12:16:32 -07:00
Jason Simmons
d71a864e58 Clear invalid resources from the raster cache when the surface is destroyed (#2821) 2016-07-25 16:14:34 -07:00
Jason Simmons
789c1e799f Disable rendering if the rasterizer can not create a GL/EGL context (#2817)
Fixes https://github.com/flutter/flutter/issues/4972
2016-07-22 11:13:21 -07:00
Jason Simmons
9546168c37 Recreate the EGL surface after a resize in order to correctly handle screen rotation on Android (#2813) 2016-07-21 15:13:26 -07:00
Chinmay Garde
c876974381 Attempt font fallback resolution using CoreText on iOS. (#2800) 2016-07-18 14:58:23 -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
81ae27ab61 Remove startup flicker on Android (#2733)
According to hackbod on Stack Overflow, we're supposed to block in the
surfaceCreated callback until we've actually drawn into the surface:

http://stackoverflow.com/questions/8772862/surfaceview-flashes-black-on-load/8888108#8888108
2016-06-02 21:01:02 -07:00
Adam Barth
44429c06eb Clear the background during load (#2710)
Previously we'd draw uninitialized memory. Now we draw black.

Fixes #3447
2016-05-25 17:45:40 -07:00
Jason Simmons
6110ec2d11 Fall back to an RGBA4444 canvas configuration if 8888 is not supported (#2649) 2016-05-05 11:55:45 -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
Adam Barth
625e937442 Update Skia (#2626) 2016-04-27 14:59:06 -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
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
Chinmay Garde
d43bae3eeb Don't crash if the scene has no root layer set. 2016-03-30 15:14:17 -07:00
Adam Barth
f7265449bf Move ganesh_canvas to sky/shell/gpu/direct/
We only use the ganesh canvas in the direct configuration. This patch moves the
class into the directory to make that clear.
2016-02-17 11:16:14 -08:00
Adam Barth
c773bcac44 Attach a stencil buffer
Skia can go faster (and crashes less) when we have a stencil buffer.

Fixes https://github.com/flutter/flutter/issues/1931
2016-02-17 11:02:03 -08:00
Jason Simmons
052d65cc14 Clear the Flow raster cache when a GrContext is destroyed
After an application is suspended and the GrContext associated with the
Flutter view is destroyed, the raster cache still contains images tied
to the defunct context.  The SkyShell process will crash if these images
are used after the application resumes.
2016-02-01 10:36:09 -08:00
Adam Barth
c3c5af1fbe Move Flow layers to //flow/layers 2016-01-30 23:35:22 -08:00
Adam Barth
e22e75ea50 Merge pull request #2302 from abarth/rm_scoped_ptr
Remove almost all uses of base::scoped_ptr
2016-01-27 08:38:41 -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
c3a78a1796 Remove dependencies on ui/gfx/geometry
We have enough geometry classes kicking around. We don't need the
ui/gfx/geometry types too.
2016-01-26 23:57:20 -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
6d1af600b1 Trim unneeded depedendencies from sky/compositor
Now we just depend on Skia and Base, which makes the compositor easier
to understand.

Also, update our skia/ext/refptr.h to match the current version of the
code in Chromium. This version adds support for several useful C++11
patterns.
2016-01-12 22:02:08 -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
Chinmay Garde
72814b2712 Ensure GL context as soon as the accelerated widget is available 2015-12-03 14:54:32 -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
Adam Barth
8a6ef54343 Move GPU code into direct
I'll add another subdirectory to GPU for Mojo soon.
2015-11-12 19:56:38 -08:00