mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-02-23 17:40:19 +00:00
* add avalonia support * only lock around skia flush * addressed review * cleanup * add fallback size if avalonia attempts to render but the window size is 0. read desktop scale after enabling dpi check * fix getting window handle on linux. skip render is size is 0
23 lines
No EOL
773 B
C#
23 lines
No EOL
773 B
C#
using Avalonia;
|
|
using Avalonia.Skia;
|
|
using Ryujinx.Ava.Ui.Vulkan;
|
|
using Ryujinx.Ava.Ui.Backend.Vulkan;
|
|
|
|
namespace Ryujinx.Ava.Ui.Backend
|
|
{
|
|
public static class SkiaGpuFactory
|
|
{
|
|
public static ISkiaGpu CreateVulkanGpu()
|
|
{
|
|
var skiaOptions = AvaloniaLocator.Current.GetService<SkiaOptions>() ?? new SkiaOptions();
|
|
var platformInterface = AvaloniaLocator.Current.GetService<VulkanPlatformInterface>();
|
|
if (platformInterface == null)
|
|
{
|
|
VulkanPlatformInterface.TryInitialize();
|
|
}
|
|
var gpu = new VulkanSkiaGpu(skiaOptions.MaxGpuResourceSizeBytes);
|
|
AvaloniaLocator.CurrentMutable.Bind<VulkanSkiaGpu>().ToConstant(gpu);
|
|
return gpu;
|
|
}
|
|
}
|
|
} |