A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

33 lines
983 B

using System;
using System.Collections.Generic;
using Avalonia.Metadata;
using Avalonia.Platform;
using Avalonia.Rendering.Composition;
namespace Avalonia.Vulkan;
[Unstable]
public interface IVulkanContextExternalObjectsFeature
{
IReadOnlyList<string> SupportedImageHandleTypes { get; }
IReadOnlyList<string> SupportedSemaphoreTypes { get; }
byte[]? DeviceUuid { get; }
byte[]? DeviceLuid { get; }
CompositionGpuImportedImageSynchronizationCapabilities GetSynchronizationCapabilities(string imageHandleType);
IVulkanExternalImage ImportImage(IPlatformHandle handle, PlatformGraphicsExternalImageProperties properties);
IVulkanExternalSemaphore ImportSemaphore(IPlatformHandle handle);
}
[Unstable]
public interface IVulkanExternalSemaphore : IDisposable
{
ulong Handle { get; }
void SubmitWaitSemaphore();
void SubmitSignalSemaphore();
}
[Unstable]
public interface IVulkanExternalImage : IDisposable
{
VulkanImageInfo Info { get; }
}