20 Commits

Author SHA1 Message Date
Brian Osman
0a7155d4e1
Disable linear blending, use SkColorSpaceXformCanvas instead (#4355)
This retains gamut correction (adjusting colors for screens with different capabilities), but does all blending and interpolation with sRGB-encoded values. That matches the behavior expected by most users, as well as the behavior of nearly all other systems. It also greatly simplifies the EGL code.

A future Skia change will make this behavior more of a first-class citizen, so some of these implementation details will change again, but the behavior will not. The bulk of this change (elimination of complication from the GL surface code) is permanent - it's just the SkColorSpaceXformCanvas that will be replaced.
2017-11-14 13:33:26 -05:00
Chinmay Garde
19e690e84b
Add fml::WeakPtr and update users in Shell. (#4296) 2017-10-31 16:55:36 -07:00
George Kulakowski
3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -07:00
Chinmay Garde
1de56a33d2 On emulators, render onscreen (with warnings) if any of the MakeS32 based SkSurface creation calls fail. (#3947) 2017-08-02 14:29:29 -07:00
Jason Simmons
bab7fa77af fix sRGB typo (#3942) 2017-07-31 17:12:45 -07:00
Chinmay Garde
ddaa125ca7 When the surface does not support SRGB, render to an offscreen texture. (#3930) 2017-07-28 12:48:32 -07:00
Brian Osman
de00757ddb Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)" (#3895)
This reverts commit 1db18a40da855b102e391cb11189e73f9c2ec40d.
2017-07-18 15:58:35 -04:00
Collin Jackson
1db18a40da Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)
This reverts commit 2d9155e174d83e9646c951dbbc85fe1eda8b20e9.

Fixes a regression with semitransparent images (flutter/flutter#11169)
2017-07-13 14:22:25 -07:00
Brian Osman
2d9155e174 Reland "Run Flutter on iOS and Android with color correct Skia (#3826)
* Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (#3823)"

This reverts commit db8d8a9979901d05b011368226ad5bf61b1da13f.

* Fix test code to match internal API change
2017-06-27 13:30:10 -04:00
Brian Osman
db8d8a9979 Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (#3823)
This reverts commit 2650f529a138de9cc9116bb9194dbe22f8e0df25.
2017-06-23 20:28:24 -04:00
Brian Osman
2650f529a1 Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)
* Revert "Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (#3775)"

This reverts commit cfe70e07d386d6052267fe3772bbd641c8413a54.

* Enable sRGB on IO thread, too

* Add 4444 as a fallback rendering mode

* Use bare ptr to SkColorSpace (not sk_sp) in PrerollContext
2017-06-23 20:21:29 -04:00
Michael Goderbauer
cfe70e07d3 Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (#3775)
This reverts commit ffe8181ffe7432b61a67323c80fd8025704e4695.
2017-06-14 16:26:20 -07:00
mattsarett
ffe8181ffe Run Flutter on iOS and Android with color correct Skia (#3743)
* Run Flutter on iOS and Android with color correct Skia (#3716)

***Turns on color correct rendering for Android and iOS
***Communicates dst color space to raster cache
***Turns on color space aware image decoding

Test:
***color_testing_demo on Pixel XL
***flutter_gallery on iPad Mini and iPad Pro (haven't figured out how to run manual_tests on iOS)

TODO:
I needed to split up this CL somewhere. These are follow-up tasks.
***Make desktop backends color correct
***Make debugging tools (ex: encoding frames to png) preserve color space
***Investigate using UIKit API to allow iOS to fine tune color space of rendered content
2017-06-09 08:39:21 -04:00
Chinmay Garde
70b71a49ea Revert "Run Flutter on iOS and Android with color correct Skia" (#3738) 2017-06-05 14:08:22 -07:00
mattsarett
fe82757603 Run Flutter on iOS and Android with color correct Skia (#3716)
***Turns on color correct rendering for Android and iOS
***Communicates dst color space to raster cache
***Turns on color space aware image decoding

Test:
***color_testing_demo on Pixel XL
***flutter_gallery on iPad Mini and iPad Pro (haven't figured out how to run manual_tests on iOS)

TODO:
I needed to split up this CL somewhere. These are follow-up tasks.
***Make desktop backends color correct
***Make debugging tools (ex: encoding frames to png) preserve color space
***Investigate using UIKit API to allow iOS to fine tune color space of rendered content
2017-06-05 14:59:04 -04:00
Florin Malita
0ae7e47e7e Add missing Skia includes (#3642)
We are removing some indirect includes from SkCanvas.h.

Updating clients to pull required headers explicitly.
2017-05-02 10:17:11 -07:00
Chinmay Garde
94306f4103 Add a Vulkan backend for Fuchsia and Android. (#3282) 2017-01-20 14:37:10 -08:00
Jason Simmons
d394e8a9bf Clear the GPU thread's EGL context only after the GPUSurfaceGL has been destroyed (#3346)
The GPUSurfaceGL holds references to Skia objects that may own GL objects.
If the GL objects are destructed on the GPU thread after the EGL context has been
dropped, then the GL delete calls will not take effect.
2017-01-18 17:19:50 -08:00
Jason Simmons
c6e008178e Detach the EGL surface from the GPU thread and then destroy it during the FlutterView surfaceDestroyed callback (#3316)
Fixes https://github.com/flutter/flutter/issues/7147
2016-12-16 15:36:33 -08:00
Chinmay Garde
fdf13d720e Make the PlatformView client rendering API agnostic. (#3099) 2016-10-06 15:06:21 -07:00