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
Chinmay Garde
b9523318ca
Allow embedders to specify a custom GL proc address resolver. ( #6204 )
...
This updates the embedder API but introduces no breaking ABI/API
changes.
2018-09-07 18:25:38 -07:00
Chinmay Garde
47a1ce0e62
Allow embedders to set the root surface transformation. ( #6085 )
2018-08-28 14:13:49 -07:00
Chinmay Garde
3087090149
Allow embedders to invalidate FBO bindings after present. ( #6084 )
2018-08-24 16:53:13 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. ( #5869 )
2018-07-26 12:49:34 -07:00
Chinmay Garde
336c23f846
Remove //flutter/glue and use FML directly. ( #5862 )
2018-07-25 13:20:48 -07:00
Chinmay Garde
edf704d0f4
Get rid of an include of an internal Skia header in GPU Surface GL. ( #5568 )
2018-06-19 13:12:46 -07:00
liyuqian
83a94d525d
Fix a typo in the comment ( #5401 )
2018-05-28 18:51:00 -07:00
Chinmay Garde
b537231b7a
Fix build issues for the embedder on Windows. ( #5386 )
2018-05-25 15:20:36 -07:00
Chinmay Garde
8caa7612f8
Create a shell with no GPU configurations unless explicitly specified by the platform. ( #5383 )
2018-05-25 14:31:01 -07:00