template <>

class WireWeakAsyncBufferClientImpl

Defined at line 3781 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.

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.

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.