Table of Contents

Struct DmaBufRingDescriptor

Namespace
Maplibre.NativeFfi
Assembly
Maplibre.NativeFfi.dll

A ring of dmabufs that the library allocates, for MapHandle.AttachDmaBufRing().

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

Remarks

Each buffer has the map's size in pixels and a format and modifier from formats. The library renders only DRM_FORMAT_ABGR8888 and DRM_FORMAT_ARGB8888. A modifier can give a buffer more planes than its format has, such as a plane of compression metadata, and the library takes any such modifier that its GPU can render into and share.

See mln_dma_buf_ring_descriptor in the C API reference.

Constructors

DmaBufRingDescriptor(LogicalSize, uint, ImmutableArray<DmaBufFormat>)

[SetsRequiredMembers]
public DmaBufRingDescriptor(LogicalSize LogicalSize, uint BufferCount, ImmutableArray<DmaBufFormat> Formats)

Parameters

LogicalSize LogicalSize
BufferCount uint
Formats ImmutableArray<DmaBufFormat>

Properties

BufferCount

How many buffers the ring has, from 1 to 8.

public required uint BufferCount { get; init; }

Property Value

uint

Formats

The formats and modifiers that your reader imports, most preferred first, such as those that eglQueryDmaBufModifiersEXT() reports.

public required ImmutableArray<DmaBufFormat> Formats { get; init; }

Property Value

ImmutableArray<DmaBufFormat>

LogicalSize

public required LogicalSize LogicalSize { get; init; }

Property Value

LogicalSize