Dan Field
63c2c3316d
Improve caching limits for Skia ( #9503 )
2019-06-26 16:21:46 -07:00
Chinmay Garde
ece4f59377
Update Metal backend to account for Skia updates. ( #9383 )
...
Also makes it so that folks don't have to patch the buildroot manually when
building for Metal.
2019-06-19 15:24:26 -07:00
Zachary Anderson
0a2e28d797
Revert tracing changes ( #9296 )
...
* Revert "[fuchsia] Fix alignment of Fuchsia/non-Fuchsia tracing (#9289 )"
This reverts commit f80ac5f571 .
* Revert "Align fuchsia and non-fuchsia tracing (#9199 )"
This reverts commit 7826548462 .
2019-06-12 10:25:49 -07:00
Dan Field
7826548462
Align fuchsia and non-fuchsia tracing ( #9199 )
2019-06-05 15:14:27 -07:00
Matthew Dempsky
3cdfa807fa
Replace ararysize macro with fml::size function ( #8975 )
...
This is forward compatible with std::size and similar to how Chromium
removed use of the arraysize macro.
2019-05-15 12:43:47 -07:00
Chinmay Garde
5526884e78
Wire up the Skia Metal backend on iOS. ( #8936 )
2019-05-11 15:21:26 -07:00
liyuqian
8ff631f3df
Rename flow namespace to flutter ( #8615 )
...
This follows our namespace change from shell to flutter: https://github.com/flutter/engine/pull/8520 .
2019-04-17 14:38:45 -07:00
Chinmay Garde
e356dbca2c
Merge flutter/synchronization contents into fml. ( #8525 )
...
When flutter/synchronization was first authored, we did not own fml (it was called fxl then). Now we do, so use a single spot for such utilities. The pipeline was meant to be a general purpose utility that was only ever used by the animator (it even has animator specific tracing), so move that to shell instead (where the animator resides).
2019-04-09 19:18:51 -07:00
Chinmay Garde
56052c70af
Rename the shell namespace to flutter. ( #8520 )
2019-04-09 17:10:46 -07:00
Chris Bracken
6e6020d299
Eliminate .member = foo struct initialization ( #7899 )
...
This breaks MSVC:
```
[3049/3506] CXX obj/flutter/shell/gpu/gpu_surface_gl.gpu_surface_gl_delegate.obj
FAILED: obj/flutter/shell/gpu/gpu_surface_gl.gpu_surface_gl_delegate.obj
ninja -t msvc -e environment.x64 -- E:\b\c\goma_cache\client/gomacc.exe "E:\b\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64/cl.exe" /nologo /showIncludes /FC @obj/flutter/shell/gpu/gpu_surface_gl.gpu_surface_gl_delegate.obj.rsp /c ../../flutter/shell/gpu/gpu_surface_gl_delegate.cc /Foobj/flutter/shell/gpu/gpu_surface_gl.gpu_surface_gl_delegate.obj /Fdobj/flutter/shell/gpu/gpu_surface_gl_cc.pdb
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(70): error C2059: syntax error: '.'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(71): error C2143: syntax error: missing ';' before '}'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(76): error C2061: syntax error: identifier 'ProcResolverContext'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(78): error C3536: 'proc_resolver_context': cannot be used before it is initialized
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(78): error C2227: left of '->resolver' must point to class/struct/union/generic type
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(78): note: type is 'int'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(82): error C2059: syntax error: 'if'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(82): error C2143: syntax error: missing ';' before '{'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(82): error C2447: '{': missing function header (old-style formal list?)
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(87): error C2059: syntax error: 'if'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(87): error C2143: syntax error: missing ';' before '{'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(87): error C2447: '{': missing function header (old-style formal list?)
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(91): error C2059: syntax error: '('
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(91): error C2059: syntax error: ')'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(92): error C2059: syntax error: 'return'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(95): error C2653: 'GPUSurfaceGLDelegate': is not a class or namespace name
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(95): error C2270: 'GetGLInterface': modifiers not allowed on nonmember functions
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(96): error C3861: 'GetGLProcResolver': identifier not found
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(96): error C3861: 'CreateGLInterface': identifier not found
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(100): error C2653: 'GPUSurfaceGLDelegate': is not a class or namespace name
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(101): error C3861: 'CreateGLInterface': identifier not found
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(104): error C2059: syntax error: '}'
e:\b\rr\tmpahx5uo\w\src\flutter\shell\gpu\gpu_surface_gl_delegate.cc(104): error C2143: syntax error: missing ';' before '}'
```
2019-02-20 23:37:26 -08:00
Chinmay Garde
684c9394c0
Respect the custom GL proc table when creating the resource context on the IO thread. ( #7893 )
...
Fixes https://github.com/flutter/flutter/issues/28229
2019-02-20 17:23:14 -08:00
Chinmay Garde
4d3a112279
Document GPUSurfaceGLDelegate methods and move it to its own file. ( #7755 )
2019-02-08 14:21:47 -08:00
Brian Osman
50ddc3712f
Remove SkColorSpaceXformCanvas, use color-managed SkSurfaces instead ( #7548 )
...
Behavior (visual) changes should be very minor. Things that are to be expected:
* A few things were not color managed correctly by the transform canvas (color emoji, some color filters). Those will be handled correctly with the tagged surfaces (although we're always transforming to sRGB, so nothing should change until we target a wider gamut).
* Image filtering will happen in the source color space, rather than the destination. Very minor.
* The transform canvas did caching of images in the destination color space. Now, the conversion happens at draw time. If there are performance issues, images can be pre-converted to the destination with makeColorSpace().
2019-01-22 15:34:51 -05:00
Michael Goderbauer
2f706bea07
Fix EXIF orentation problem ( #6974 )
2018-11-27 14:12:13 -08:00
Michael Goderbauer
09ef73ff6e
Fix code smells reported by chrome's clang plugin ( #6833 )
2018-11-12 19:59:29 -08:00
Jason Simmons
4dbdf94aaf
Ensure that the EGL rendering context is bound to the GPU thread in Rasterizer::MakeRasterSnapshot ( #6816 )
...
Fixes https://github.com/flutter/flutter/issues/24083
2018-11-09 17:05:05 -08:00
Amir Hardon
099b4eeada
Support platform view overlays with GL rendering ( #6769 )
...
Moved the frame buffer specific logic from IOSGLContext to IOSGLRenderTarget.
use recording canvases for overlays
Support platform view overlays with gl rendering.
This also changes the overlay canvases (for both software and gl
rendering) be recording canvases, and only rasterize them after
finishing the paint traversal.
2018-11-08 19:52:43 -08:00
Mehmet Fidanboylu
94dd7165ef
Skia Cleanup ( #6786 )
2018-11-07 15:29:52 -08:00
Michael Goderbauer
70a1106b50
Unify copyright lines ( #6757 )
2018-11-07 12:24:35 -08:00
Amir Hardon
124f20f404
Clear the on-screen surface every frame. ( #6753 )
...
We are currently clearing the offscreen surface before rasterizing, but
as we draw the image snapshot of the offscreen surface into the onscreen
surface transparent pixels are blended with the current contents of the onscreen surface instead of replacing them. This is
particularly noticeable when embedding platform views.
2018-11-05 15:08:07 -08:00
Chinmay Garde
ba8f6aa71c
Handle Windows headers defining ERROR to 0 in log levels. ( #6677 )
2018-10-26 16:47:14 -07:00
Amir Hardon
df85722fa0
Plumb the iOS PlatformViewsController into flow. ( #6603 )
...
For flow to manipulate the embedded UIViews during the paint traversal
it needs some hook in PaintContext.
This PR introduces a ViewEmbeder interface that is implemented by the
iOS PlatformViewsController and plumbs it into PaintContext.
The ViewEmbedder interface is mainly a place holder at this point, as
this PR is focused on just the plumbing.
2018-10-26 14:26:59 -07:00
Chinmay Garde
10f9cab4c5
Ensure that the platform view is created and destroyed when running the shell unittests. ( #6560 )
2018-10-16 14:30:19 -07:00
Jason Simmons
7767c785b4
Provide a default GL function resolver in the embedder ( #6523 )
...
Also check whether the implementation behind the resolver is OpenGL or
OpenGL ES
2018-10-12 15:07:46 -07:00
Chinmay Garde
f2a3df97e2
Wire up the Skia persistent GPU related artifacts cache. ( #6278 )
...
Also teaches FML to create files and directories.
2018-09-26 14:54:09 -07:00