Browse Source

add ISkiaGpuWithPlatformGraphicsContext interface to vulkan skia gpu (#17895)

pull/17932/head
Emmanuel Hansen 1 year ago
committed by GitHub
parent
commit
e8d3544c9e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      src/Skia/Avalonia.Skia/Gpu/Vulkan/VulkanSkiaGpu.cs

10
src/Skia/Avalonia.Skia/Gpu/Vulkan/VulkanSkiaGpu.cs

@ -7,7 +7,7 @@ using SkiaSharp;
namespace Avalonia.Skia.Vulkan;
internal class VulkanSkiaGpu : ISkiaGpu
internal class VulkanSkiaGpu : ISkiaGpuWithPlatformGraphicsContext
{
private readonly VulkanSkiaExternalObjectsFeature? _externalObjects;
public IVulkanPlatformGraphicsContext Vulkan { get; private set; }
@ -72,6 +72,9 @@ internal class VulkanSkiaGpu : ISkiaGpu
}
public bool IsLost => Vulkan.IsLost;
public IPlatformGraphicsContext? PlatformGraphicsContext => Vulkan;
public IDisposable EnsureCurrent() => Vulkan.EnsureCurrent();
@ -83,4 +86,7 @@ internal class VulkanSkiaGpu : ISkiaGpu
public ISkiaSurface? TryCreateSurface(PixelSize size, ISkiaGpuRenderSession? session) => null;
}
public IScopedResource<GRContext> TryGetGrContext() =>
ScopedResource<GRContext>.Create(GrContext, EnsureCurrent().Dispose);
}

Loading…
Cancel
Save