| // Copyright 2024 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.hardware.display; |
| |
| /// Type of the internal value in [`ImageId`]. |
| alias ImageIdValue = uint64; |
| |
| /// Unique identifier for an image registered with the display coordinator. |
| /// |
| /// [`fuchsia.hardware.display.types/INVALID_DISP_ID`] represents an invalid |
| /// value. |
| /// |
| /// Values are managed by [`fuchsia.hardware.display/Coordinator`] clients, to |
| /// facilitate feed-forward dataflow. |
| /// |
| /// Valid values uniquely identify "live" images within a Display Coordinator |
| /// connection. The identifier of an image destroyed via |
| /// [`fuchsia.hardware.display/Coordinator.ReleaseImage`] can be reused in a |
| /// subsequent [`fuchsia.hardware.display/Coordinator.ImportImage`] call. |
| /// |
| /// An image is a memory buffer whose bytes have a fixed interpretation as an |
| /// array of pixels. Memory buffers are managed by sysmem, and are accessed by |
| /// the display stack using a [`fuchsia.sysmem/BufferCollection`]. The buffer's |
| /// interpretation is described by an |
| /// [`fuchsia.hardware.display.types/ImageConfig`]. |
| type ImageId = struct { |
| value ImageIdValue; |
| }; |