Skip to main content

ICompositionGpuInterop Interface

Definition​

Assembly:Avalonia.Base
Package:Avalonia
public interface ICompositionGpuInterop

Methods​

NameDescription
GetSynchronizationCapabilitiesReturns the supported ways to synchronize access to the imported GPU image
ImportImage (2 overloads)Asynchronously imports a texture. The returned object is immediately usable.
ImportSemaphore (2 overloads)Asynchronously imports a semaphore object. The returned object is immediately usable. If import operation fails, the caller is responsible for destroying the handle

GetSynchronizationCapabilities Method​

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

public Avalonia.Rendering.Composition.CompositionGpuImportedImageSynchronizationCapabilities GetSynchronizationCapabilities(string imageHandleType)

Parameters​

imageHandleType string

Returns​

Avalonia.Rendering.Composition.CompositionGpuImportedImageSynchronizationCapabilities

ImportImage overloads​

ImportImage Method​

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

public Avalonia.Rendering.Composition.ICompositionImportedGpuImage ImportImage(Avalonia.Platform.IPlatformHandle handle, Avalonia.Platform.PlatformGraphicsExternalImageProperties properties)
Parameters​

handle Avalonia.Platform.IPlatformHandle

properties Avalonia.Platform.PlatformGraphicsExternalImageProperties

Returns​

Avalonia.Rendering.Composition.ICompositionImportedGpuImage

ImportImage Method​

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

public Avalonia.Rendering.Composition.ICompositionImportedGpuImage ImportImage(Avalonia.Rendering.Composition.ICompositionImportableSharedGpuContextImage image)
Parameters​

image Avalonia.Rendering.Composition.ICompositionImportableSharedGpuContextImage

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

Returns​

Avalonia.Rendering.Composition.ICompositionImportedGpuImage

ImportSemaphore overloads​

ImportSemaphore Method​

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

public Avalonia.Rendering.Composition.ICompositionImportedGpuSemaphore ImportSemaphore(Avalonia.Platform.IPlatformHandle handle)
Parameters​

handle Avalonia.Platform.IPlatformHandle

Returns​

Avalonia.Rendering.Composition.ICompositionImportedGpuSemaphore

ImportSemaphore Method​

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

public Avalonia.Rendering.Composition.ICompositionImportedGpuImage ImportSemaphore(Avalonia.Rendering.Composition.ICompositionImportableSharedGpuContextSemaphore image)
Parameters​

image Avalonia.Rendering.Composition.ICompositionImportableSharedGpuContextSemaphore

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

Returns​

Avalonia.Rendering.Composition.ICompositionImportedGpuImage

Properties​

NameDescription
DeviceLuidThe LUID of the graphics adapter used by the compositor
DeviceUuidThe UUID of the graphics adapter used by the compositor
IsLostIndicates if the device context this instance is associated with is no longer available
SupportedImageHandleTypesReturns the list of image handle types supported by the current GPU backend, see Avalonia.Platform.KnownPlatformGraphicsExternalImageHandleTypes
SupportedSemaphoreTypesReturns the list of semaphore types supported by the current GPU backend, see Avalonia.Platform.KnownPlatformGraphicsExternalSemaphoreHandleTypes

DeviceLuid Property​

The LUID of the graphics adapter used by the compositor

public byte[] DeviceLuid { get; set; }

DeviceUuid Property​

The UUID of the graphics adapter used by the compositor

public byte[] DeviceUuid { get; set; }

IsLost Property​

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

public bool IsLost { get; set; }

SupportedImageHandleTypes Property​

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

public System.Collections.Generic.IReadOnlyList<string> SupportedImageHandleTypes { get; set; }

SupportedSemaphoreTypes Property​

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

public System.Collections.Generic.IReadOnlyList<string> SupportedSemaphoreTypes { get; set; }