blob: 8fd776d897071547b86d3f8ccddba83a39b63bf3 [file] [log] [blame]
// 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;
};