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.