However, I have broken some new ground. Before, the compositing engine had wildly inaccurate colouring caused by errant “swizzle methods” (which are functions that take images of one colour type and change them to another – or, “swizzle” them). This resulted in Firefox 64 (Nightly) looking like this on my workstation:
I’ve just managed to fix these methods and lo and behold, Firefox 64 (Nightly) looks like this now:
Obviously, there are still some minor nits to work out. (Namely that my avatar in the top right corner has a blue tint to it!) I believe the last issues are going to be in the Cairo code, which seems to get very confused by Skia’s byte ordering. I already have a lead on how to potentially fix this issue. The good news is that there are no longer any (non-debug) crashers, unless you attempt to view H.264 video. This is because video playback via FFmpeg crashes due to another byte ordering issue.
All in all, I’m very satisfied with what I was able to knock out in just a few hours on a Friday night. Thanks go to the #gfx chat room on Mozilla IRC for their guidance in what to look at.