| // 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; |
| |
| using fuchsia.hardware.display.types; |
| |
| /// Type of the internal value in [`LayerId`]. |
| alias LayerIdValue = uint64; |
| |
| /// Identifies a layer resource owned by a Display Coordinator client. |
| /// |
| /// [`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" layers within a Display Coordinator |
| /// connection. The identifier of a layer destroyed via |
| /// [`fuchsia.hardware.display/Coordinator.DestroyLayer`] can be reused in a |
| /// subsequent [`fuchsia.hardware.display/Coordinator.CreateLayer`] call. |
| type LayerId = struct { |
| value LayerIdValue; |
| }; |
| |
| type ClientCompositionOp = struct { |
| /// display_id and layer_id uniquely identify the subject of the |
| /// opcode. |
| display_id fuchsia.hardware.display.types.DisplayId; |
| |
| /// Invalid for issues that aren't scoped to a specific layer, such as |
| /// unsupported color conversion tables. |
| layer_id LayerId; |
| |
| opcode fuchsia.hardware.display.types.ClientCompositionOpcode; |
| }; |