I'm generally in favor of the Skia stuff, it passes more tests, the changes aren't really functional so much as they're just cleanups. Biggest parts really being the bitmap code was refactored a great deal. There are a couple of places where I have questions, for example around some changes to text layout -- but I think overall its a net gain in functionality
His EGL changes should also be merged and we can bikeshed on the design later I think
I'm closing my GL PR as I'm still thinking about the design and there's probably going to be some churn
I left a few comments on the PR, but its nothing major
For EGL potential improvements I see is more flexibility surrounding which version of GL you negotiate, a WGL implementation for Windows Desktop GL, and splitting things out into a separate project since I think Avalonia.Visuals is kind of the wrong place for it. It can be done as a follow up though.
EGL can probably live in Avalonia.OpenGL and be shared across platforms, where a WGL implementation can live in Avalonia.Win32
If you convert to PathGeometry you have an overhead during the load but once the StreamGeometry is created it should be the same. That way we can write unit tests that verify a path not only parse and forget. The current tests dont verify if a path was parsed corrently they just fail on thrown exceptions.
If the actual rendering of Avalonia is also done using OpenGL (for example using h/w accelerated Skia), you can render the output of the scene to a texture and then compose that and whatever 3D you'd like to display
there's a bit of infrastructure missing in Avalonia itself to make this easy