Table of Contents

Struct VulkanBorrowedTextureDescriptor

Namespace
Maplibre.NativeFfi
Assembly
Maplibre.NativeFfi.dll

A ring of your Vulkan images, for MapHandle.AttachVulkanBorrowedTexture().

public readonly record struct VulkanBorrowedTextureDescriptor : IEquatable<VulkanBorrowedTextureDescriptor>
Implements
Inherited Members

Remarks

logical_size sets the map's size. physical_width and physical_height give the images' size in pixels, which is usually logical_size times the map's scale factor. Each image must have that size, format, and VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, and belong to the context's device. The ring holds up to MaplibreNative.TextureRingMaxDepth distinct images.

The session uses the images until a replacement or release of the target completes, a detach or release of the session completes, or an abandon of it returns.

See mln_vulkan_borrowed_texture_descriptor in the C API reference.

Constructors

VulkanBorrowedTextureDescriptor(LogicalSize, uint, uint, VulkanContextDescriptor, ImmutableArray<VulkanBorrowedTexture>, uint, uint, VulkanImageOwner)

[SetsRequiredMembers]
public VulkanBorrowedTextureDescriptor(LogicalSize LogicalSize, uint PhysicalWidth, uint PhysicalHeight, VulkanContextDescriptor Context, ImmutableArray<VulkanBorrowedTexture> Textures, uint Format, uint FinalLayout, VulkanImageOwner Owner)

Parameters

LogicalSize LogicalSize
PhysicalWidth uint
PhysicalHeight uint
Context VulkanContextDescriptor
Textures ImmutableArray<VulkanBorrowedTexture>
Format uint
FinalLayout uint
Owner VulkanImageOwner

Properties

Context

public required VulkanContextDescriptor Context { get; init; }

Property Value

VulkanContextDescriptor

FinalLayout

The VkImageLayout that each frame leaves its image in.

public required uint FinalLayout { get; init; }

Property Value

uint

Format

The images' VkFormat.

public required uint Format { get; init; }

Property Value

uint

LogicalSize

public required LogicalSize LogicalSize { get; init; }

Property Value

LogicalSize

Owner

public VulkanImageOwner Owner { get; init; }

Property Value

VulkanImageOwner

PhysicalHeight

public required uint PhysicalHeight { get; init; }

Property Value

uint

PhysicalWidth

public required uint PhysicalWidth { get; init; }

Property Value

uint

Textures

public required ImmutableArray<VulkanBorrowedTexture> Textures { get; init; }

Property Value

ImmutableArray<VulkanBorrowedTexture>