Table of Contents

Interface ICompositionGpuInterop

Namespace
Avalonia.Rendering.Composition
Assembly
Avalonia.Base.dll
[NotClientImplementable]
public interface ICompositionGpuInterop

Properties

DeviceLuid

The LUID of the graphics adapter used by the compositor

byte[]? DeviceLuid { get; set; }

Property Value

byte[]

DeviceUuid

The UUID of the graphics adapter used by the compositor

byte[]? DeviceUuid { get; set; }

Property Value

byte[]

IsLost

Indicates if the device context this instance is associated with is no longer available

bool IsLost { get; }

Property Value

bool

SupportedImageHandleTypes

Returns the list of image handle types supported by the current GPU backend, see KnownPlatformGraphicsExternalImageHandleTypes

IReadOnlyList<string> SupportedImageHandleTypes { get; }

Property Value

IReadOnlyList<string>

SupportedSemaphoreTypes

Returns the list of semaphore types supported by the current GPU backend, see KnownPlatformGraphicsExternalSemaphoreHandleTypes

IReadOnlyList<string> SupportedSemaphoreTypes { get; }

Property Value

IReadOnlyList<string>

Methods

GetSynchronizationCapabilities(string)

Returns the supported ways to synchronize access to the imported GPU image

CompositionGpuImportedImageSynchronizationCapabilities GetSynchronizationCapabilities(string imageHandleType)

Parameters

imageHandleType string

Returns

CompositionGpuImportedImageSynchronizationCapabilities

ImportImage(IPlatformHandle, PlatformGraphicsExternalImageProperties)

Asynchronously imports a texture. The returned object is immediately usable.

ICompositionImportedGpuImage ImportImage(IPlatformHandle handle, PlatformGraphicsExternalImageProperties properties)

Parameters

handle IPlatformHandle
properties PlatformGraphicsExternalImageProperties

Returns

ICompositionImportedGpuImage

ImportImage(ICompositionImportableSharedGpuContextImage)

Asynchronously imports a texture. The returned object is immediately usable. If import operation fails, the caller is responsible for destroying the handle

ICompositionImportedGpuImage ImportImage(ICompositionImportableSharedGpuContextImage image)

Parameters

image ICompositionImportableSharedGpuContextImage

An image that belongs to the same GPU context or the same GPU context sharing group as one used by compositor

Returns

ICompositionImportedGpuImage

ImportSemaphore(IPlatformHandle)

Asynchronously imports a semaphore object. The returned object is immediately usable. If import operation fails, the caller is responsible for destroying the handle

ICompositionImportedGpuSemaphore ImportSemaphore(IPlatformHandle handle)

Parameters

handle IPlatformHandle

Returns

ICompositionImportedGpuSemaphore

ImportSemaphore(ICompositionImportableSharedGpuContextSemaphore)

Asynchronously imports a semaphore object. The returned object is immediately usable.

ICompositionImportedGpuImage ImportSemaphore(ICompositionImportableSharedGpuContextSemaphore image)

Parameters

image ICompositionImportableSharedGpuContextSemaphore

A semaphore that belongs to the same GPU context or the same GPU context sharing group as one used by compositor

Returns

ICompositionImportedGpuImage