template <>

class WireWeakAsyncBufferClientImpl

Defined at line 3801 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.engine/fuchsia.hardware.display.engine/cpp/fidl/fuchsia.hardware.display.engine/cpp/driver/wire_messaging.h

Public Methods

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::CompleteCoordinatorConnection> CompleteCoordinatorConnection (::fdf::ClientEnd< ::fuchsia_hardware_display_engine::EngineListener> && engine_listener)

Starts the information flow from the engine driver to the Coordinator.

Must be called exactly once, before all the other calls below.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::ImportBufferCollection> ImportBufferCollection (const ::fuchsia_hardware_display_engine::wire::BufferCollectionId & buffer_collection_id, ::fidl::ClientEnd< ::fuchsia_sysmem2::BufferCollectionToken> && collection_token)

Sets up this driver to use a Sysmem BufferCollection.

Fails with ZX_ERR_INTERNAL if any error occurs during the setup process,

which mainly consists of communicating with the Sysmem service.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::ReleaseBufferCollection> ReleaseBufferCollection (const ::fuchsia_hardware_display_engine::wire::BufferCollectionId & buffer_collection_id)

Releases the resources needed to use a Sysmem BufferCollection.

TODO(https://fxbug.dev/394954078): Make this method infallible.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::ImportImage> ImportImage (const ::fuchsia_hardware_display_types::wire::ImageMetadata & image_metadata, const ::fuchsia_hardware_display_engine::wire::BufferCollectionId & buffer_collection_id, uint32_t buffer_collection_index)

Sets up the hardware to use a buffer as a display image data source.

Fails with ZX_ERR_SHOULD_WAIT if Sysmem reports that the

BufferCollection's buffers are not yet allocated. Fails with

ZX_ERR_INTERNAL if any other error occurs while obtaining the buffer

from the Sysmem service.

The implementation must ignore any Sysmem information around weak VMO

handles. Display stack consumers are responsible for ensuring that weak

VMOs are closed in a timely manner, which may involve calling

[`Engine.ReleaseImage`] and [`Engine.ApplyConfiguration`].

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::ImportImageForCapture> ImportImageForCapture (const ::fuchsia_hardware_display_engine::wire::BufferCollectionId & buffer_collection_id, uint32_t buffer_collection_index)

Sets up the hardware to use a buffer for display capture output.

This call must only be issued when the engine driver supports capture.

Capture support is reported in [`EngineInfo.is_capture_supported`]

returned by [`Engine.CompleteCoordinatorConnection`].

Fails with ZX_ERR_SHOULD_WAIT if Sysmem reports that the

BufferCollection's buffers are not yet allocated. Fails with

ZX_ERR_INTERNAL if any other error occurs while obtaining the buffer

from the Sysmem service.

The implementation must ignore any Sysmem information around weak VMO

handles. Display stack consumers are responsible for ensuring that weak

VMOs are closed in a timely manner, which may involve calling

[`Engine.ReleaseImage`] and [`Engine.ApplyConfiguration`].

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::CheckConfiguration> CheckConfiguration (const ::fuchsia_hardware_display_engine::wire::DisplayConfig & display_config)

Verifies that a configuration can be presented on a display.

The verification result must be valid for any configuration derived from

the given configuration.

A derived configuration can be obtained from another configuration by

applying one or more of the following operations. The list of operations

is expected to slowly grow over time.

* Replace an image ID with another image ID. The two IDs must identify

images that were imported with the same metadata.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::ApplyConfiguration> ApplyConfiguration (const ::fuchsia_hardware_display_engine::wire::DisplayConfig & display_config, const ::fuchsia_hardware_display_engine::wire::ConfigStamp & config_stamp)

Submits a configuration for future presentation on a display.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::SetBufferCollectionConstraints> SetBufferCollectionConstraints (const ::fuchsia_hardware_display_types::wire::ImageBufferUsage & usage, const ::fuchsia_hardware_display_engine::wire::BufferCollectionId & buffer_collection_id)

Conveys the display hardware's limitations on image buffers to sysmem.

Fails with ZX_ERR_INTERNAL if any error occurs while communicating with

the the Sysmem service.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::SetDisplayPowerMode> SetDisplayPowerMode (const ::fuchsia_hardware_display_types::wire::DisplayId & display_id, ::fuchsia_hardware_display_types::wire::PowerMode power_mode)

Sets a display's power mode.

Returns `ZX_ERR_NOT_SUPPORTED` if the display driver or hardware does

not support the requested power mode.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::SetMinimumRgb> SetMinimumRgb (uint8_t minimum_rgb)

Set the minimum value of RGB channels.

Fails with ZX_ERR_NOT_SUPPORTED if RGB clamping is not supported. Most

engine drivers are expected to fail in this manner.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::StartCapture> StartCapture (const ::fuchsia_hardware_display_engine::wire::ImageId & capture_image_id)

Starts a display capture operation.

The engine driver must not be performing another capture operation. The

capture operation is considered to be in-progress from the moment when a

successful call to [`DisplayEngine.StartCapture`] is issued, until the

moment when the engine driver issues a call to

[`DisplayEngineListener.OnCaptureComplete`].

This call must only be issued when the engine driver supports capture.

Capture support is reported in [`EngineInfo.is_capture_supported`]

returned by [`Engine.CompleteCoordinatorConnection`].

This call must only be issued after a configuration has been applied to

the display.

Fails with ZX_ERR_IO_REFUSED if the display engine hardware failed to

start the capture. This error could point to a systemic issue, such as

the system having insufficient DRAM bandwidth to capture the currently

applied display configuration. This error could also be caused by a

temporary hardware failure.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_display_engine::Engine::ReleaseCapture> ReleaseCapture (const ::fuchsia_hardware_display_engine::wire::ImageId & capture_image_id)

Releases resources for using a buffer for display capture output.

This call must only be issued when the engine driver supports capture.

Capture support is reported in [`EngineInfo.is_capture_supported`]

returned by [`Engine.CompleteCoordinatorConnection`].

TODO(https://fxbug.dev/394954078): Make this method infallible.

Caller provides the backing storage for FIDL message.