template <>
class WireTableBuilder
Defined at line 14872 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
Public Methods
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::BufferCollectionConstraints> & usage (First && first, Args &&... args_)
The `usage` is a hint to sysmem to potentially help choose a more
optimal [`fuchsia.images2/PixelFormat`] and/or `pixel_format_modifier`
when multiple compatible options exist.
When aggregating [`fuchsia.sysmem2/BufferCollectionConstraints`], these
values bitwise-OR.
At least one `usage` bit must be specified (however, it's permitted for
a [`fuchsia.sysmem2/BufferCollection.SetConstraints`] request to have
the request `constraints` field not set, in which case `kNoneUsage` is
the default, along with no constraints from the participant).
When `kNoneUsage` is specified it must be the only set bit, and no VMOs
will be sent in response to
[`fuchsia.sysmem2/BufferCollection.WaitForAllBuffersAllocated`].
Defined at line 14899 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::BufferCollectionConstraints> & usage (First && first, Args &&... args_)
The `usage` is a hint to sysmem to potentially help choose a more
optimal [`fuchsia.images2/PixelFormat`] and/or `pixel_format_modifier`
when multiple compatible options exist.
When aggregating [`fuchsia.sysmem2/BufferCollectionConstraints`], these
values bitwise-OR.
At least one `usage` bit must be specified (however, it's permitted for
a [`fuchsia.sysmem2/BufferCollection.SetConstraints`] request to have
the request `constraints` field not set, in which case `kNoneUsage` is
the default, along with no constraints from the participant).
When `kNoneUsage` is specified it must be the only set bit, and no VMOs
will be sent in response to
[`fuchsia.sysmem2/BufferCollection.WaitForAllBuffersAllocated`].
Defined at line 14899 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
template <typename First = ::fuchsia_sysmem2::wire::BufferMemoryConstraints, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fuchsia_sysmem2::wire::BufferMemoryConstraints>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::BufferCollectionConstraints> & buffer_memory_constraints (First && first, Args &&... args_)
Optional constraints on `BufferCollectionSettings.buffer_settings`.
A participant that intends to set `image_format_constraints` will
typically specify the minimum buffer size implicitly via
`image_format_constraints`, and possibly specify only the max buffer
size via `buffer_memory_constraints`.
If un-set, the client is specifying "don't care" re. any buffer memory
constraints.
Defined at line 14920 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
template <typename First = ::fuchsia_sysmem2::wire::BufferMemoryConstraints, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fuchsia_sysmem2::wire::BufferMemoryConstraints>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::BufferCollectionConstraints> & buffer_memory_constraints (First && first, Args &&... args_)
Optional constraints on `BufferCollectionSettings.buffer_settings`.
A participant that intends to set `image_format_constraints` will
typically specify the minimum buffer size implicitly via
`image_format_constraints`, and possibly specify only the max buffer
size via `buffer_memory_constraints`.
If un-set, the client is specifying "don't care" re. any buffer memory
constraints.
Defined at line 14920 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
template <typename First = ::fidl::VectorView<::fuchsia_sysmem2::wire::ImageFormatConstraints>, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fidl::VectorView<::fuchsia_sysmem2::wire::ImageFormatConstraints>>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::BufferCollectionConstraints> & image_format_constraints (First && first, Args &&... args_)
Optional constraints on the image format parameters of an image stored
in a buffer of the collection. This includes
[`fuchsia.images2/PixelFormat`] and `pixel_format_modifier` (for tiling
and the like). These constraints can be specified separately per
`pixel_format` `pixel_format_modifier` pair. Duplicated `pixel_format`
`pixel_format_modifier` pairs aren't permitted.
When aggregating, only `pixel_format` `pixel_format_modifier` pairs that
are specified by all participants with non-zero
`image_format_constraints` size (and non-null)
BufferCollectionConstraints) are retained.
A participant can specify `pixel_format`
[`fuchsia.images2/PixelFormat.DO_NOT_CARE`] and/or
`pixel_format_modifier`
[`fuchsia.images2/PixelFormatModifier.DO_NOT_CARE`] to permit any value
to be selected, but at least one participant must specify a specific
format for overall allocation to succeed.
In a SetConstraints message, un-set or zero length means no image format
constraints; a raw buffer can be allocated if no other participants
specify any `image_format_constraints` entries.
Defined at line 14954 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
template <typename First = ::fidl::VectorView<::fuchsia_sysmem2::wire::ImageFormatConstraints>, typename... Args, std::enable_if_t<!std::is_same_v<cpp20::remove_cvref_t<First>, fidl::ObjectView<::fidl::VectorView<::fuchsia_sysmem2::wire::ImageFormatConstraints>>>, int> = 0>
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::BufferCollectionConstraints> & image_format_constraints (First && first, Args &&... args_)
Optional constraints on the image format parameters of an image stored
in a buffer of the collection. This includes
[`fuchsia.images2/PixelFormat`] and `pixel_format_modifier` (for tiling
and the like). These constraints can be specified separately per
`pixel_format` `pixel_format_modifier` pair. Duplicated `pixel_format`
`pixel_format_modifier` pairs aren't permitted.
When aggregating, only `pixel_format` `pixel_format_modifier` pairs that
are specified by all participants with non-zero
`image_format_constraints` size (and non-null)
BufferCollectionConstraints) are retained.
A participant can specify `pixel_format`
[`fuchsia.images2/PixelFormat.DO_NOT_CARE`] and/or
`pixel_format_modifier`
[`fuchsia.images2/PixelFormatModifier.DO_NOT_CARE`] to permit any value
to be selected, but at least one participant must specify a specific
format for overall allocation to succeed.
In a SetConstraints message, un-set or zero length means no image format
constraints; a raw buffer can be allocated if no other participants
specify any `image_format_constraints` entries.
Defined at line 14954 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
Friends
template <>
class BufferCollectionConstraints