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; }