Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@mattsarett
Copy link
Contributor

***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

***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
@mattsarett
Copy link
Contributor Author

Alright let's try this again :).

I've added a null check for canvas in layer_tree, I think this should fix the crash in the software rasterizer.

@brianosman @liyuqian

@mattsarett
Copy link
Contributor Author

@chinmaygarde

Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Before we land this though, our buildbots will need to be ready with iOS 10. This is being tracked by @cbracken in flutter/flutter#10510.

@mattsarett
Copy link
Contributor Author

Ahh ok, thanks for the update.

@mattsarett
Copy link
Contributor Author

I've prepared another branch that handles some of cases I left as TODOs:
*Color correct Android software backend
*Color correct mac desktop backend
*Respecting color space when converting frames to PNG
*Minor Vulkan change

I think it makes sense to consider this as a follow-up (since this CL is already not small), but we also have the option to include it in this PR.
https://github.com/mattsarett/engine/tree/srgb2

@chinmaygarde
Copy link
Member

Just an update. Steady progress is being on flutter/flutter#10510 to enable this patch to be built by our buildbots.

@mattsarett
Copy link
Contributor Author

Thanks! I appreciate your and Chris' help with this.

@cbracken
Copy link
Member

cbracken commented Jun 9, 2017

FYI flutter/flutter#10510 is now resolved: engine builds, framework with the new engine builds and passes.

You should be good to land this. Thanks for your patience! :)

@mattsarett mattsarett merged commit ffe8181 into flutter:master Jun 9, 2017
goderbauer added a commit to goderbauer/engine that referenced this pull request Jun 14, 2017
@Hixie
Copy link
Contributor

Hixie commented Jun 14, 2017

This patch is being reverted in #3775.

It caused a device hard crash on the flutter_gallery_ios__transition_perf benchmark on certain iOS devices (notably iPod Touch 6th gen with iOS 10.3.1 and iPhone 6 with iOS 10.3.2). We suspect it also caused a high-profile regression with Android emulators (flutter/flutter#10617).

goderbauer added a commit that referenced this pull request Jun 14, 2017
mattsarett added a commit to mattsarett/engine that referenced this pull request Jun 15, 2017
brianosman added a commit that referenced this pull request Jun 24, 2017
* Revert "Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (#3775)"

This reverts commit cfe70e0.

* Enable sRGB on IO thread, too

* Add 4444 as a fallback rendering mode

* Use bare ptr to SkColorSpace (not sk_sp) in PrerollContext
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants