csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
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.
50 lines
1.8 KiB
50 lines
1.8 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using Avalonia.Platform;
|
|
using Avalonia.Rendering.Composition;
|
|
|
|
namespace Avalonia.OpenGL;
|
|
|
|
public interface IGlContextExternalObjectsFeature
|
|
{
|
|
IReadOnlyList<string> SupportedImportableExternalImageTypes { get; }
|
|
IReadOnlyList<string> SupportedExportableExternalImageTypes { get; }
|
|
IReadOnlyList<string> SupportedImportableExternalSemaphoreTypes { get; }
|
|
IReadOnlyList<string> SupportedExportableExternalSemaphoreTypes { get; }
|
|
IReadOnlyList<PlatformGraphicsExternalImageFormat> GetSupportedFormatsForExternalMemoryType(string type);
|
|
|
|
IGlExportableExternalImageTexture CreateImage(string type,PixelSize size, PlatformGraphicsExternalImageFormat format);
|
|
|
|
IGlExportableExternalImageTexture CreateSemaphore(string type);
|
|
IGlExternalImageTexture ImportImage(IPlatformHandle handle, PlatformGraphicsExternalImageProperties properties);
|
|
IGlExternalSemaphore ImportSemaphore(IPlatformHandle handle);
|
|
CompositionGpuImportedImageSynchronizationCapabilities GetSynchronizationCapabilities(string imageHandleType);
|
|
public byte[]? DeviceLuid { get; }
|
|
public byte[]? DeviceUuid { get; }
|
|
}
|
|
|
|
public interface IGlExternalSemaphore : IDisposable
|
|
{
|
|
void WaitSemaphore(IGlExternalImageTexture texture);
|
|
void SignalSemaphore(IGlExternalImageTexture texture);
|
|
}
|
|
|
|
public interface IGlExportableExternalSemaphore : IGlExternalSemaphore
|
|
{
|
|
IPlatformHandle GetHandle();
|
|
}
|
|
|
|
public interface IGlExternalImageTexture : IDisposable
|
|
{
|
|
void AcquireKeyedMutex(uint key);
|
|
void ReleaseKeyedMutex(uint key);
|
|
int TextureId { get; }
|
|
int InternalFormat { get; }
|
|
|
|
PlatformGraphicsExternalImageProperties Properties { get; }
|
|
}
|
|
|
|
public interface IGlExportableExternalImageTexture : IGlExternalImageTexture
|
|
{
|
|
IPlatformHandle GetHandle();
|
|
}
|
|
|