Commit Graph

19 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
Jason Simmons b28933d4f6 Remove AndroidSurface::SetFlutterView (#4208)
This was used by AndroidSurfaceSoftware but is now obsolete
2017-10-12 13:49:56 -07:00
George Kulakowski 3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -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 1db18a40da.
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 2d9155e174.

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 db8d8a9979.

* 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 2650f529a1.
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 cfe70e07d3.

* 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 ffe8181ffe.
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
Gary Qian 796259c089 Allow switching to the software rendering backend on Android. (#3719)
* Enable software rendering backend on android. Add "enable-software-rendering" flag.

* Fix variable naming and threading.
2017-05-31 17:27:47 -07:00
Chinmay Garde 94306f4103 Add a Vulkan backend for Fuchsia and Android. (#3282) 2017-01-20 14:37:10 -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
Jason Simmons 55d50b2ada Show clearer logs during startup if OpenGL is unavailable (#3207) 2016-11-07 17:01:42 -08:00
Chinmay Garde b3ca46b363 Initialize AndroidSurfaceGL and its associated resource context before ANativeWindow acquisition. (#3193)
* Initialize AndroidSurfaceGL and its associated resource context before ANativeWindow acquisition.

This allows us to create the IO thread context way earlier and service load requests on the same. Before this patch, early lifecycle loads would use the default Skia texture loader instead of the Async texture loader we provide.

Fixes https://github.com/flutter/flutter/issues/6581

* Don't destroy surface_gl_ PlatformViewAndroid::ReleaseSurface.
2016-11-01 15:02:56 -07:00
Chinmay Garde fdf13d720e Make the PlatformView client rendering API agnostic. (#3099) 2016-10-06 15:06:21 -07:00