class BufferUsage

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

Describes how a client will access the contents of a buffer.

Public Methods

void BufferUsage ()

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

void BufferUsage (const BufferUsage & other)

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

void BufferUsage (BufferUsage && other)

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

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::BufferUsage> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_sysmem2::wire::BufferUsage> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::BufferUsage>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

uint32_t & none ()

If the client sets this field, the client should not set any other

fields in the same table instance. The only valid bit in this field is

`NONE_USAGE` which must be set if this field is set. The point of this

field and the one bit set in this field is to essentially prove that the

client really means they aren't going to use the buffers, so don't need

any VMOs (didn't just fail to fill out the table).

bool has_none ()
uint32_t & cpu ()

If set, holds CPU usage bits. See `CPU_USAGE_*` flags in usages.fidl.

bool has_cpu ()
uint32_t & vulkan ()

If set, holds vulkan usage bits. See `VULKAN_IMAGE_*` and

`VULKAN_BUFFER_*` bits in usages.fidl. The `VULKAN_USAGE_*` bit

definitions/names are deprecated.

bool has_vulkan ()
uint32_t & display ()

If set, holds display usage bits. See `DISPLAY_USAGE_*` bits in

usages.fidl.

bool has_display ()
BufferUsage & operator= (const BufferUsage & other)

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

BufferUsage & operator= (BufferUsage && other)

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

uint32_t & video ()

If set, holds video usage bits. See `VIDEO_USAGE_*` bits in usages.fidl.

bool has_video ()
BufferUsage & set_none (uint32_t elem)
BufferUsage & clear_none ()
BufferUsage & set_cpu (uint32_t elem)
BufferUsage & clear_cpu ()
BufferUsage & set_vulkan (uint32_t elem)
BufferUsage & clear_vulkan ()
BufferUsage & set_display (uint32_t elem)
BufferUsage & clear_display ()
BufferUsage & set_video (uint32_t elem)
BufferUsage & clear_video ()
void BufferUsage (::fidl::AnyArena & allocator)
void BufferUsage (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::BufferUsage>> && frame)

This constructor allows a user controlled allocation (not using a Arena).

It should only be used when performance is key.

As soon as the frame is given to the table, it must not be used directly or for another table.

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::BufferUsage>> && frame_ptr)
void ~BufferUsage ()

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

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder