template <>

class WireTableBuilder

Defined at line 13420 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

Public Methods

template <typename First = ::fuchsia_images2::wire::PixelFormatModifier, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fuchsia_images2::wire::PixelFormatModifier>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::FormatCostKey> & pixel_format_modifier (First && first, Args &&... args_)

The pixel_format and pixel_format_modifier are the format to which this

FormatCost entry applies.

Un-set is equivalent to LINEAR.

Defined at line 13436 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

template <typename First = ::fuchsia_images2::wire::PixelFormatModifier, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fuchsia_images2::wire::PixelFormatModifier>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::FormatCostKey> & pixel_format_modifier (First && first, Args &&... args_)

The pixel_format and pixel_format_modifier are the format to which this

FormatCost entry applies.

Un-set is equivalent to LINEAR.

Defined at line 13436 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

template <typename First = ::fuchsia_sysmem2::wire::BufferUsage, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fuchsia_sysmem2::wire::BufferUsage>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::FormatCostKey> & buffer_usage_bits (First && first, Args &&... args_)

If set, this entry is only considered if the buffer collection has at

least these usage bits set.

The buffer collection has an aggregated BufferUsage which is the union

of per-participant BufferUsage bits. FormatCost entries with additional

set bits are ignored. Among the rest, the one with matching format and

the most usage bits set determines the cost of that format for that

buffer collection.

Then the lowest-cost format is chosen for that buffer collection among

the formats that are mutually suppored by all the participants of that

buffer collection.

The main intent of this field is to allow "waving off" a format that

works, but doesn't perform well, for a particular combination of usages.

In that case the cost can be set high when the problematic combination

of usage bits is set. The format will still be chosen if this format is

the only mutually-supported format among the participants of the buffer

collection.

Un-set is equivalent to zero usage bits set, meaning the entry applies

to the format unless another entry with more specific usage applies.

It can be reasonable in some cases for all entries to omit this field,

when/if format selection based on format cost alone, ignoring usage, is

sufficient.

Defined at line 13474 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

template <typename First = ::fuchsia_sysmem2::wire::BufferUsage, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fuchsia_sysmem2::wire::BufferUsage>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::FormatCostKey> & buffer_usage_bits (First && first, Args &&... args_)

If set, this entry is only considered if the buffer collection has at

least these usage bits set.

The buffer collection has an aggregated BufferUsage which is the union

of per-participant BufferUsage bits. FormatCost entries with additional

set bits are ignored. Among the rest, the one with matching format and

the most usage bits set determines the cost of that format for that

buffer collection.

Then the lowest-cost format is chosen for that buffer collection among

the formats that are mutually suppored by all the participants of that

buffer collection.

The main intent of this field is to allow "waving off" a format that

works, but doesn't perform well, for a particular combination of usages.

In that case the cost can be set high when the problematic combination

of usage bits is set. The format will still be chosen if this format is

the only mutually-supported format among the participants of the buffer

collection.

Un-set is equivalent to zero usage bits set, meaning the entry applies

to the format unless another entry with more specific usage applies.

It can be reasonable in some cases for all entries to omit this field,

when/if format selection based on format cost alone, ignoring usage, is

sufficient.

Defined at line 13474 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

Friends

template <>
class FormatCostKey