Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to Vortice.Windows #15615

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Migrate to Vortice.Windows #15615

wants to merge 7 commits into from

Conversation

hez2010
Copy link
Contributor

@hez2010 hez2010 commented May 5, 2024

What does the pull request do?

Migrate from SharpDX to Vortice.Windows.

Supersedes #7947

What is the current behavior?

Relying on SharpDX which is no longer being maintained.

Breaking changes

Avalonia.Direct2D no longer supports net6.0 and lower.

@kekekeks
Copy link
Member

kekekeks commented May 6, 2024

Why would we want to break .NET Framework support? Are there known problems with SharpDX that affect Avalonia-based apps? IIRC it was covering the required D2D API surface and was trimming-friendly.

@hez2010
Copy link
Contributor Author

hez2010 commented May 6, 2024

The D2D1 backend has been broken for long time since we introduced the compositing renderer (it doesn't work at all and throws an exception immediately before #15610, and even after the fix, it's still not working and results in bad visuals on the UI), so I believe there's no existing user who is using it. Dropping the .NET Framework support for this specified package seems fine as it won't break anyone.
By migrating to Vortice.Windows we can get more bug fixes and support for latest DirectX version in case we want to implement a D3D11/D3D12 renderer in the future (which can also help us get rid of gles and skia on Windows to save ~20mb binary size).

@ALIENQuake
Copy link

@hez2010

By migrating to Vortice.Windows we can get more bug fixes and support for latest DirectX version in case we want to implement a D3D11/D3D12 renderer in the future (which can also help us get rid of gles and skia on Windows to save ~20mb binary size).

So libHarfBuzzSharp.dll, libSkiaSharp.dll and av_libglesv2.dll files will no longer required for Avalonia Single-File/AoT apps?

@hez2010
Copy link
Contributor Author

hez2010 commented May 28, 2024

So libHarfBuzzSharp.dll, libSkiaSharp.dll and av_libglesv2.dll files will no longer required for Avalonia Single-File/AoT apps?

If you are using D2D backend, yes.
While unfortunately currently the D2D backend is broken which needs some work to fix it up.

@Gillibald
Copy link
Contributor

Harfbuzz is still required unless someone wants to implement text shaping with DirectWrite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants