Skip to content

Gdk.DmabufFormats

record (struct)

Provides information about supported DMA buffer formats.

You can query whether a given format is supported with DmabufFormats.contains and you can iterate over the list of all supported formats with DmabufFormats.get_n_formats and DmabufFormats.get_format.

The list of supported formats is sorted by preference, with the best formats coming first.

The list may contains (format, modifier) pairs where the modifier is DMA_FORMAT_MOD_INVALID, indicating that implicit modifiers may be used with this format.

See DmabufTextureBuilder for more information about DMA buffers.

Note that DMA buffers only exist on Linux.

Methods

contains

def contains(self, fourcc: int, modifier: int) -> bool

Returns whether a given format is contained in formats.

Parameters:

  • fourcc — a format code
  • modifier — a format modifier

equal

def equal(self, formats2: DmabufFormats | None = ...) -> bool

Returns whether formats1 and formats2 contain the same dmabuf formats, in the same order.

Parameters:

  • formats2 — another GdkDmabufFormats

get_format

def get_format(self, idx: int) -> tuple[int, int]

Gets the fourcc code and modifier for a format that is contained in formats.

Parameters:

  • idx — the index of the format to return

get_n_formats

def get_n_formats(self) -> int

Returns the number of formats that the formats object contains.

Note that DMA buffers are a Linux concept, so on other platforms, DmabufFormats.get_n_formats will always return zero.

ref

def ref(self) -> DmabufFormats

Increases the reference count of formats.

unref

def unref(self) -> None

Decreases the reference count of formats.

When the reference count reaches zero, the object is freed.