diff options
-rw-r--r-- | hwc3/ComposerClient.cpp | 5 | ||||
-rw-r--r-- | hwc3/ComposerClient.h | 4 | ||||
-rw-r--r-- | hwc3/ComposerCommandEngine.cpp | 109 | ||||
-rw-r--r-- | hwc3/ComposerCommandEngine.h | 104 | ||||
-rw-r--r-- | hwc3/impl/HalImpl.cpp | 6 | ||||
-rw-r--r-- | hwc3/impl/HalImpl.h | 2 | ||||
-rw-r--r-- | hwc3/include/IComposerHal.h | 50 |
7 files changed, 131 insertions, 149 deletions
diff --git a/hwc3/ComposerClient.cpp b/hwc3/ComposerClient.cpp index c0ed7fd..ea2dbcf 100644 --- a/hwc3/ComposerClient.cpp +++ b/hwc3/ComposerClient.cpp @@ -106,9 +106,8 @@ ndk::ScopedAStatus ComposerClient::destroyVirtualDisplay(int64_t display) { return TO_BINDER_STATUS(err); } -ndk::ScopedAStatus ComposerClient::executeCommands( - const std::vector<command::CommandPayload>& commands, - std::vector<command::CommandResultPayload>* results) { +ndk::ScopedAStatus ComposerClient::executeCommands(const std::vector<DisplayCommand>& commands, + std::vector<CommandResultPayload>* results) { DEBUG_FUNC(); auto err = mCommandEngine->execute(commands, results); mCommandEngine->reset(); diff --git a/hwc3/ComposerClient.h b/hwc3/ComposerClient.h index 8e274b1..dead8a4 100644 --- a/hwc3/ComposerClient.h +++ b/hwc3/ComposerClient.h @@ -64,8 +64,8 @@ class ComposerClient : public BnComposerClient { VirtualDisplay* display) override; ndk::ScopedAStatus destroyLayer(int64_t display, int64_t layer) override; ndk::ScopedAStatus destroyVirtualDisplay(int64_t display) override; - ndk::ScopedAStatus executeCommands(const std::vector<command::CommandPayload>& commands, - std::vector<command::CommandResultPayload>* results) override; + ndk::ScopedAStatus executeCommands(const std::vector<DisplayCommand>& commands, + std::vector<CommandResultPayload>* results) override; ndk::ScopedAStatus getActiveConfig(int64_t display, int32_t* config) override; ndk::ScopedAStatus getColorModes(int64_t display, std::vector<ColorMode>* colorModes) override; ndk::ScopedAStatus getDataspaceSaturationMatrix(common::Dataspace dataspace, diff --git a/hwc3/ComposerCommandEngine.cpp b/hwc3/ComposerCommandEngine.cpp index f28c385..82d63c0 100644 --- a/hwc3/ComposerCommandEngine.cpp +++ b/hwc3/ComposerCommandEngine.cpp @@ -25,12 +25,11 @@ // and adapt to aidl structures. namespace aidl::android::hardware::graphics::composer3::impl { -#define DISPATCH_LAYER_COMMAND(layerCmd, field, funcName) \ - do { \ - if (layerCmd.field) { \ - executeSetLayer##funcName(layerCmd.display, \ - layerCmd.layer, *layerCmd.field); \ - } \ +#define DISPATCH_LAYER_COMMAND(display, layerCmd, field, funcName) \ + do { \ + if (layerCmd.field) { \ + executeSetLayer##funcName(display, layerCmd.layer, *layerCmd.field); \ + } \ } while (0) #define DISPATCH_DISPLAY_COMMAND(displayCmd, field, funcName) \ @@ -52,23 +51,11 @@ bool ComposerCommandEngine::init() { return (mWriter != nullptr); } -int32_t ComposerCommandEngine::execute(const std::vector<command::CommandPayload>& commands, - std::vector<command::CommandResultPayload>* result) { +int32_t ComposerCommandEngine::execute(const std::vector<DisplayCommand>& commands, + std::vector<CommandResultPayload>* result) { mCommandIndex = 0; for (const auto& command : commands) { - switch (command.getTag()) { - case command::CommandPayload::displayCommand: - dispatchDisplayCommand(command.get<command::CommandPayload::displayCommand>()); - break; - - case command::CommandPayload::layerCommand: - dispatchLayerCommand(command.get<command::CommandPayload::layerCommand>()); - break; - - default: - LOG(WARNING) << "unsupported command type " << command.toString(); - break; - } + dispatchDisplayCommand(command); ++mCommandIndex; } @@ -76,7 +63,11 @@ int32_t ComposerCommandEngine::execute(const std::vector<command::CommandPayload return 0; } -void ComposerCommandEngine::dispatchDisplayCommand(const command::DisplayCommand& command) { +void ComposerCommandEngine::dispatchDisplayCommand(const DisplayCommand& command) { + for (const auto& layerCmd : command.layers) { + dispatchLayerCommand(command.display, layerCmd); + } + DISPATCH_DISPLAY_COMMAND(command, colorTransform, SetColorTransform); DISPATCH_DISPLAY_COMMAND(command, clientTarget, SetClientTarget); DISPATCH_DISPLAY_COMMAND(command, virtualDisplayOutputBuffer, SetOutputBuffer); @@ -88,28 +79,28 @@ void ComposerCommandEngine::dispatchDisplayCommand(const command::DisplayCommand DISPATCH_DISPLAY_BOOL_COMMAND(command, presentOrValidateDisplay, PresentOrValidateDisplay); } -void ComposerCommandEngine::dispatchLayerCommand(const command::LayerCommand &command) { - DISPATCH_LAYER_COMMAND(command, cursorPosition, CursorPosition); - DISPATCH_LAYER_COMMAND(command, buffer, Buffer); - DISPATCH_LAYER_COMMAND(command, damage, SurfaceDamage); - DISPATCH_LAYER_COMMAND(command, blendMode, BlendMode); - DISPATCH_LAYER_COMMAND(command, color, Color); - DISPATCH_LAYER_COMMAND(command, floatColor, FloatColor); - DISPATCH_LAYER_COMMAND(command, composition, Composition); - DISPATCH_LAYER_COMMAND(command, dataspace, Dataspace); - DISPATCH_LAYER_COMMAND(command, displayFrame, DisplayFrame); - DISPATCH_LAYER_COMMAND(command, planeAlpha, PlaneAlpha); - DISPATCH_LAYER_COMMAND(command, sidebandStream, SidebandStream); - DISPATCH_LAYER_COMMAND(command, sourceCrop, SourceCrop); - DISPATCH_LAYER_COMMAND(command, transform, Transform); - DISPATCH_LAYER_COMMAND(command, visibleRegion, VisibleRegion); - DISPATCH_LAYER_COMMAND(command, z, ZOrder); - DISPATCH_LAYER_COMMAND(command, colorTransform, ColorTransform); +void ComposerCommandEngine::dispatchLayerCommand(int64_t display, const LayerCommand& command) { + DISPATCH_LAYER_COMMAND(display, command, cursorPosition, CursorPosition); + DISPATCH_LAYER_COMMAND(display, command, buffer, Buffer); + DISPATCH_LAYER_COMMAND(display, command, damage, SurfaceDamage); + DISPATCH_LAYER_COMMAND(display, command, blendMode, BlendMode); + DISPATCH_LAYER_COMMAND(display, command, color, Color); + DISPATCH_LAYER_COMMAND(display, command, floatColor, FloatColor); + DISPATCH_LAYER_COMMAND(display, command, composition, Composition); + DISPATCH_LAYER_COMMAND(display, command, dataspace, Dataspace); + DISPATCH_LAYER_COMMAND(display, command, displayFrame, DisplayFrame); + DISPATCH_LAYER_COMMAND(display, command, planeAlpha, PlaneAlpha); + DISPATCH_LAYER_COMMAND(display, command, sidebandStream, SidebandStream); + DISPATCH_LAYER_COMMAND(display, command, sourceCrop, SourceCrop); + DISPATCH_LAYER_COMMAND(display, command, transform, Transform); + DISPATCH_LAYER_COMMAND(display, command, visibleRegion, VisibleRegion); + DISPATCH_LAYER_COMMAND(display, command, z, ZOrder); + DISPATCH_LAYER_COMMAND(display, command, colorTransform, ColorTransform); // TODO: (b/196171661) add support for mixed composition - // DISPATCH_LAYER_COMMAND(command, whitePointNits, WhitePointNits); - DISPATCH_LAYER_COMMAND(command, genericMetadata, GenericMetadata); - DISPATCH_LAYER_COMMAND(command, perFrameMetadata, PerFrameMetadata); - DISPATCH_LAYER_COMMAND(command, perFrameMetadataBlob, PerFrameMetadataBlobs); + // DISPATCH_LAYER_COMMAND(display, command, whitePointNits, WhitePointNits); + DISPATCH_LAYER_COMMAND(display, command, genericMetadata, GenericMetadata); + DISPATCH_LAYER_COMMAND(display, command, perFrameMetadata, PerFrameMetadata); + DISPATCH_LAYER_COMMAND(display, command, perFrameMetadataBlob, PerFrameMetadataBlobs); } int32_t ComposerCommandEngine::executeValidateDisplayInternal(int64_t display) { @@ -137,7 +128,7 @@ int32_t ComposerCommandEngine::executeValidateDisplayInternal(int64_t display) { } void ComposerCommandEngine::executeSetColorTransform(int64_t display, - const command::ColorTransformPayload& command) { + const ColorTransformPayload& command) { auto err = mHal->setColorTransform(display, command.matrix, command.hint); if (err) { LOG(ERROR) << __func__ << ": err " << err; @@ -145,8 +136,7 @@ void ComposerCommandEngine::executeSetColorTransform(int64_t display, } } -void ComposerCommandEngine::executeSetClientTarget(int64_t display, - const command::ClientTarget& command) { +void ComposerCommandEngine::executeSetClientTarget(int64_t display, const ClientTarget& command) { bool useCache = !command.buffer.handle; buffer_handle_t handle = useCache ? nullptr @@ -168,8 +158,7 @@ void ComposerCommandEngine::executeSetClientTarget(int64_t display, } } -void ComposerCommandEngine::executeSetOutputBuffer(uint64_t display, - const command::Buffer& buffer) { +void ComposerCommandEngine::executeSetOutputBuffer(uint64_t display, const Buffer& buffer) { bool useCache = !buffer.handle; buffer_handle_t handle = useCache ? nullptr @@ -200,8 +189,7 @@ void ComposerCommandEngine::executePresentOrValidateDisplay(int64_t display) { if (mHal->hasCapability(Capability::SKIP_VALIDATE)) { err = executePresentDisplay(display); if (!err) { - mWriter->setPresentOrValidateResult(display, - command::PresentOrValidate::Result::Presented); + mWriter->setPresentOrValidateResult(display, PresentOrValidate::Result::Presented); return; } } @@ -209,7 +197,7 @@ void ComposerCommandEngine::executePresentOrValidateDisplay(int64_t display) { // Fallback to validate err = executeValidateDisplayInternal(display); if (!err) { - mWriter->setPresentOrValidateResult(display, command::PresentOrValidate::Result::Validated); + mWriter->setPresentOrValidateResult(display, PresentOrValidate::Result::Validated); } } @@ -245,7 +233,7 @@ void ComposerCommandEngine::executeSetLayerCursorPosition(int64_t display, int64 } void ComposerCommandEngine::executeSetLayerBuffer(int64_t display, int64_t layer, - const command::Buffer& buffer) { + const Buffer& buffer) { bool useCache = !buffer.handle; buffer_handle_t handle = useCache ? nullptr @@ -276,7 +264,7 @@ void ComposerCommandEngine::executeSetLayerSurfaceDamage(int64_t display, int64_ } void ComposerCommandEngine::executeSetLayerBlendMode(int64_t display, int64_t layer, - const command::ParcelableBlendMode& blendMode) { + const ParcelableBlendMode& blendMode) { auto err = mHal->setLayerBlendMode(display, layer, blendMode.blendMode); if (err) { LOG(ERROR) << __func__ << ": err " << err; @@ -294,7 +282,7 @@ void ComposerCommandEngine::executeSetLayerColor(int64_t display, int64_t layer, } void ComposerCommandEngine::executeSetLayerComposition(int64_t display, int64_t layer, - const command::ParcelableComposition& composition) { + const ParcelableComposition& composition) { auto err = mHal->setLayerCompositionType(display, layer, composition.composition); if (err) { LOG(ERROR) << __func__ << ": err " << err; @@ -303,7 +291,7 @@ void ComposerCommandEngine::executeSetLayerComposition(int64_t display, int64_t } void ComposerCommandEngine::executeSetLayerDataspace(int64_t display, int64_t layer, - const command::ParcelableDataspace& dataspace) { + const ParcelableDataspace& dataspace) { auto err = mHal->setLayerDataspace(display, layer, dataspace.dataspace); if (err) { LOG(ERROR) << __func__ << ": err " << err; @@ -321,8 +309,8 @@ void ComposerCommandEngine::executeSetLayerDisplayFrame(int64_t display, int64_t } void ComposerCommandEngine::executeSetLayerPlaneAlpha(int64_t display, int64_t layer, - const command::PlaneAlpha& planeAlpha) { - auto err = mHal->setLayerPlaneAlpha(display, layer, planeAlpha.alpha); + const PlaneAlpha& planeAlpha) { + auto err = mHal->setLayerPlaneAlpha(display, layer, planeAlpha.alpha); if (err) { LOG(ERROR) << __func__ << ": err " << err; mWriter->setError(mCommandIndex, err); @@ -356,7 +344,7 @@ void ComposerCommandEngine::executeSetLayerSourceCrop(int64_t display, int64_t l } void ComposerCommandEngine::executeSetLayerTransform(int64_t display, int64_t layer, - const command::ParcelableTransform& transform) { + const ParcelableTransform& transform) { auto err = mHal->setLayerTransform(display, layer, transform.transform); if (err) { LOG(ERROR) << __func__ << ": err " << err; @@ -374,7 +362,7 @@ void ComposerCommandEngine::executeSetLayerVisibleRegion(int64_t display, int64_ } void ComposerCommandEngine::executeSetLayerZOrder(int64_t display, int64_t layer, - const command::ZOrder& zOrder) { + const ZOrder& zOrder) { auto err = mHal->setLayerZOrder(display, layer, zOrder.z); if (err) { LOG(ERROR) << __func__ << ": err " << err; @@ -419,8 +407,7 @@ void ComposerCommandEngine::executeSetLayerPerFrameMetadataBlobs(int64_t display } void ComposerCommandEngine::executeSetLayerGenericMetadata(int64_t display, int64_t layer, - const command::GenericMetadata& metadata) { - + const GenericMetadata& metadata) { auto err = mHal->setLayerGenericMetadata(display, layer, metadata); if (err) { diff --git a/hwc3/ComposerCommandEngine.h b/hwc3/ComposerCommandEngine.h index ad46889..e55be65 100644 --- a/hwc3/ComposerCommandEngine.h +++ b/hwc3/ComposerCommandEngine.h @@ -30,69 +30,67 @@ class ComposerCommandEngine { : mHal(hal), mResources(resources) {} bool init(); - int32_t execute(const std::vector<command::CommandPayload>& commands, - std::vector<command::CommandResultPayload> *result); + int32_t execute(const std::vector<DisplayCommand>& commands, + std::vector<CommandResultPayload>* result); void reset() { mWriter->reset(); } private: - void dispatchDisplayCommand(const command::DisplayCommand& displayCommand); - void dispatchLayerCommand(const command::LayerCommand& displayCommand); + void dispatchDisplayCommand(const DisplayCommand& displayCommand); + void dispatchLayerCommand(int64_t display, const LayerCommand& displayCommand); - void executeSetColorTransform(int64_t display, const command::ColorTransformPayload& command); - void executeSetClientTarget(int64_t display, const command::ClientTarget& command); - void executeSetOutputBuffer(uint64_t display, const command::Buffer& buffer); - void executeValidateDisplay(int64_t display); - void executePresentOrValidateDisplay(int64_t display); - void executeAcceptDisplayChanges(int64_t display); - int executePresentDisplay(int64_t display); + void executeSetColorTransform(int64_t display, const ColorTransformPayload& command); + void executeSetClientTarget(int64_t display, const ClientTarget& command); + void executeSetOutputBuffer(uint64_t display, const Buffer& buffer); + void executeValidateDisplay(int64_t display); + void executePresentOrValidateDisplay(int64_t display); + void executeAcceptDisplayChanges(int64_t display); + int executePresentDisplay(int64_t display); - void executeSetLayerCursorPosition(int64_t display, int64_t layer, - const common::Point& cursorPosition); - void executeSetLayerBuffer(int64_t display, int64_t layer, - const command::Buffer& buffer); - void executeSetLayerSurfaceDamage(int64_t display, int64_t layer, - const std::vector<std::optional<common::Rect>>& damage); - void executeSetLayerBlendMode(int64_t display, int64_t layer, - const command::ParcelableBlendMode& blendMode); - void executeSetLayerColor(int64_t display, int64_t layer, const Color& color); - void executeSetLayerComposition(int64_t display, int64_t layer, - const command::ParcelableComposition& composition); - void executeSetLayerDataspace(int64_t display, int64_t layer, - const command::ParcelableDataspace& dataspace); - void executeSetLayerDisplayFrame(int64_t display, int64_t layer, - const common::Rect& rect); - void executeSetLayerPlaneAlpha(int64_t display, int64_t layer, - const command::PlaneAlpha& planeAlpha); - void executeSetLayerSidebandStream(int64_t display, int64_t layer, - const AidlNativeHandle& sidebandStream); - void executeSetLayerSourceCrop(int64_t display, int64_t layer, - const common::FRect& sourceCrop); - void executeSetLayerTransform(int64_t display, int64_t layer, - const command::ParcelableTransform& transform); - void executeSetLayerVisibleRegion(int64_t display, int64_t layer, - const std::vector<std::optional<common::Rect>>& visibleRegion); - void executeSetLayerZOrder(int64_t display, int64_t layer, - const command::ZOrder& zOrder); - void executeSetLayerPerFrameMetadata(int64_t display, int64_t layer, - const std::vector<std::optional<PerFrameMetadata>>& perFrameMetadata); - void executeSetLayerFloatColor(int64_t display, int64_t layer, - const FloatColor& floatColor); - void executeSetLayerColorTransform(int64_t display, int64_t layer, - const std::vector<float>& colorTransform); - void executeSetLayerPerFrameMetadataBlobs(int64_t display, int64_t layer, - const std::vector<std::optional<PerFrameMetadataBlob>>& perFrameMetadataBlob); - void executeSetLayerGenericMetadata(int64_t display, int64_t layer, - const command::GenericMetadata& genericMetadata); + void executeSetLayerCursorPosition(int64_t display, int64_t layer, + const common::Point& cursorPosition); + void executeSetLayerBuffer(int64_t display, int64_t layer, const Buffer& buffer); + void executeSetLayerSurfaceDamage(int64_t display, int64_t layer, + const std::vector<std::optional<common::Rect>>& damage); + void executeSetLayerBlendMode(int64_t display, int64_t layer, + const ParcelableBlendMode& blendMode); + void executeSetLayerColor(int64_t display, int64_t layer, const Color& color); + void executeSetLayerComposition(int64_t display, int64_t layer, + const ParcelableComposition& composition); + void executeSetLayerDataspace(int64_t display, int64_t layer, + const ParcelableDataspace& dataspace); + void executeSetLayerDisplayFrame(int64_t display, int64_t layer, const common::Rect& rect); + void executeSetLayerPlaneAlpha(int64_t display, int64_t layer, const PlaneAlpha& planeAlpha); + void executeSetLayerSidebandStream(int64_t display, int64_t layer, + const AidlNativeHandle& sidebandStream); + void executeSetLayerSourceCrop(int64_t display, int64_t layer, + const common::FRect& sourceCrop); + void executeSetLayerTransform(int64_t display, int64_t layer, + const ParcelableTransform& transform); + void executeSetLayerVisibleRegion( + int64_t display, int64_t layer, + const std::vector<std::optional<common::Rect>>& visibleRegion); + void executeSetLayerZOrder(int64_t display, int64_t layer, const ZOrder& zOrder); + void executeSetLayerPerFrameMetadata( + int64_t display, int64_t layer, + const std::vector<std::optional<PerFrameMetadata>>& perFrameMetadata); + void executeSetLayerFloatColor(int64_t display, int64_t layer, const FloatColor& floatColor); + void executeSetLayerColorTransform(int64_t display, int64_t layer, + const std::vector<float>& colorTransform); + void executeSetLayerPerFrameMetadataBlobs( + int64_t display, int64_t layer, + const std::vector<std::optional<PerFrameMetadataBlob>>& perFrameMetadataBlob); + void executeSetLayerGenericMetadata(int64_t display, int64_t layer, + const GenericMetadata& genericMetadata); - int32_t executeValidateDisplayInternal(int64_t display); + int32_t executeValidateDisplayInternal(int64_t display); - IComposerHal* mHal; - IResourceManager* mResources; - std::unique_ptr<CommandWriterBase> mWriter; - int32_t mCommandIndex; + IComposerHal* mHal; + IResourceManager* mResources; + std::unique_ptr<CommandWriterBase> mWriter; + int32_t mCommandIndex; }; } // namespace aidl::android::hardware::graphics::composer3::impl diff --git a/hwc3/impl/HalImpl.cpp b/hwc3/impl/HalImpl.cpp index a6a797c..2626a28 100644 --- a/hwc3/impl/HalImpl.cpp +++ b/hwc3/impl/HalImpl.cpp @@ -731,9 +731,9 @@ int32_t HalImpl::setLayerFloatColor([[maybe_unused]] int64_t display, return HWC2_ERROR_UNSUPPORTED; } -int32_t HalImpl::setLayerGenericMetadata( - [[maybe_unused]] int64_t display, [[maybe_unused]] int64_t layer, - [[maybe_unused]] const command::GenericMetadata& metadata) { +int32_t HalImpl::setLayerGenericMetadata([[maybe_unused]] int64_t display, + [[maybe_unused]] int64_t layer, + [[maybe_unused]] const GenericMetadata& metadata) { return HWC2_ERROR_UNSUPPORTED; } diff --git a/hwc3/impl/HalImpl.h b/hwc3/impl/HalImpl.h index 865b87a..2108241 100644 --- a/hwc3/impl/HalImpl.h +++ b/hwc3/impl/HalImpl.h @@ -113,7 +113,7 @@ class HalImpl : public IComposerHal { const common::Rect& frame) override; int32_t setLayerFloatColor(int64_t display, int64_t layer, FloatColor color) override; int32_t setLayerGenericMetadata(int64_t display, int64_t layer, - const command::GenericMetadata& metadata) override; + const GenericMetadata& metadata) override; int32_t setLayerPerFrameMetadata(int64_t display, int64_t layer, const std::vector<std::optional<PerFrameMetadata>>& metadata) override; int32_t setLayerPerFrameMetadataBlobs(int64_t display, int64_t layer, diff --git a/hwc3/include/IComposerHal.h b/hwc3/include/IComposerHal.h index 086d11d..87dc41d 100644 --- a/hwc3/include/IComposerHal.h +++ b/hwc3/include/IComposerHal.h @@ -20,8 +20,6 @@ * However current patten is the HWC lib does not own buffer resources (HWC lib * does own the fences). */ -#include <cutils/native_handle.h> - #include <aidl/android/hardware/common/NativeHandle.h> #include <aidl/android/hardware/graphics/common/BlendMode.h> #include <aidl/android/hardware/graphics/common/Dataspace.h> @@ -30,53 +28,53 @@ #include <aidl/android/hardware/graphics/common/Point.h> #include <aidl/android/hardware/graphics/common/Rect.h> #include <aidl/android/hardware/graphics/common/Transform.h> +#include <aidl/android/hardware/graphics/composer3/Buffer.h> #include <aidl/android/hardware/graphics/composer3/Capability.h> +#include <aidl/android/hardware/graphics/composer3/ChangedCompositionTypes.h> +#include <aidl/android/hardware/graphics/composer3/ClientTarget.h> #include <aidl/android/hardware/graphics/composer3/ClientTargetProperty.h> +#include <aidl/android/hardware/graphics/composer3/ClientTargetPropertyWithNits.h> #include <aidl/android/hardware/graphics/composer3/Color.h> #include <aidl/android/hardware/graphics/composer3/ColorMode.h> +#include <aidl/android/hardware/graphics/composer3/ColorTransformPayload.h> +#include <aidl/android/hardware/graphics/composer3/CommandError.h> +#include <aidl/android/hardware/graphics/composer3/CommandResultPayload.h> #include <aidl/android/hardware/graphics/composer3/Composition.h> #include <aidl/android/hardware/graphics/composer3/ContentType.h> -#include <aidl/android/hardware/graphics/composer3/command/Buffer.h> -#include <aidl/android/hardware/graphics/composer3/command/ChangedCompositionTypes.h> -#include <aidl/android/hardware/graphics/composer3/command/ClientTarget.h> -#include <aidl/android/hardware/graphics/composer3/command/ClientTargetPropertyWithNits.h> -#include <aidl/android/hardware/graphics/composer3/command/ColorTransformPayload.h> -#include <aidl/android/hardware/graphics/composer3/command/CommandPayload.h> -#include <aidl/android/hardware/graphics/composer3/command/CommandResultPayload.h> -#include <aidl/android/hardware/graphics/composer3/command/DisplayCommand.h> -#include <aidl/android/hardware/graphics/composer3/command/DisplayRequest.h> -#include <aidl/android/hardware/graphics/composer3/command/Error.h> -#include <aidl/android/hardware/graphics/composer3/command/GenericMetadata.h> -#include <aidl/android/hardware/graphics/composer3/command/LayerCommand.h> -#include <aidl/android/hardware/graphics/composer3/command/ParcelableBlendMode.h> -#include <aidl/android/hardware/graphics/composer3/command/ParcelableComposition.h> -#include <aidl/android/hardware/graphics/composer3/command/ParcelableDataspace.h> -#include <aidl/android/hardware/graphics/composer3/command/ParcelableTransform.h> -#include <aidl/android/hardware/graphics/composer3/command/PlaneAlpha.h> -#include <aidl/android/hardware/graphics/composer3/command/PresentFence.h> -#include <aidl/android/hardware/graphics/composer3/command/PresentOrValidate.h> -#include <aidl/android/hardware/graphics/composer3/command/ReleaseFences.h> -#include <aidl/android/hardware/graphics/composer3/command/WhitePointNits.h> -#include <aidl/android/hardware/graphics/composer3/command/ZOrder.h> #include <aidl/android/hardware/graphics/composer3/DisplayAttribute.h> #include <aidl/android/hardware/graphics/composer3/DisplayCapability.h> +#include <aidl/android/hardware/graphics/composer3/DisplayCommand.h> #include <aidl/android/hardware/graphics/composer3/DisplayConnectionType.h> #include <aidl/android/hardware/graphics/composer3/DisplayContentSample.h> #include <aidl/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.h> #include <aidl/android/hardware/graphics/composer3/DisplayIdentification.h> +#include <aidl/android/hardware/graphics/composer3/DisplayRequest.h> #include <aidl/android/hardware/graphics/composer3/FloatColor.h> #include <aidl/android/hardware/graphics/composer3/FormatColorComponent.h> +#include <aidl/android/hardware/graphics/composer3/GenericMetadata.h> #include <aidl/android/hardware/graphics/composer3/HdrCapabilities.h> +#include <aidl/android/hardware/graphics/composer3/LayerCommand.h> #include <aidl/android/hardware/graphics/composer3/LayerGenericMetadataKey.h> +#include <aidl/android/hardware/graphics/composer3/ParcelableBlendMode.h> +#include <aidl/android/hardware/graphics/composer3/ParcelableComposition.h> +#include <aidl/android/hardware/graphics/composer3/ParcelableDataspace.h> +#include <aidl/android/hardware/graphics/composer3/ParcelableTransform.h> #include <aidl/android/hardware/graphics/composer3/PerFrameMetadata.h> #include <aidl/android/hardware/graphics/composer3/PerFrameMetadataBlob.h> #include <aidl/android/hardware/graphics/composer3/PerFrameMetadataKey.h> +#include <aidl/android/hardware/graphics/composer3/PlaneAlpha.h> #include <aidl/android/hardware/graphics/composer3/PowerMode.h> +#include <aidl/android/hardware/graphics/composer3/PresentFence.h> +#include <aidl/android/hardware/graphics/composer3/PresentOrValidate.h> #include <aidl/android/hardware/graphics/composer3/ReadbackBufferAttributes.h> +#include <aidl/android/hardware/graphics/composer3/ReleaseFences.h> #include <aidl/android/hardware/graphics/composer3/RenderIntent.h> +#include <aidl/android/hardware/graphics/composer3/VirtualDisplay.h> #include <aidl/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.h> #include <aidl/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.h> -#include <aidl/android/hardware/graphics/composer3/VirtualDisplay.h> +#include <aidl/android/hardware/graphics/composer3/WhitePointNits.h> +#include <aidl/android/hardware/graphics/composer3/ZOrder.h> +#include <cutils/native_handle.h> // avoid naming conflict using AidlPixelFormat = aidl::android::hardware::graphics::common::PixelFormat; @@ -181,7 +179,7 @@ class IComposerHal { const common::Rect& frame) = 0; virtual int32_t setLayerFloatColor(int64_t display, int64_t layer, FloatColor color) = 0; virtual int32_t setLayerGenericMetadata(int64_t display, int64_t layer, - const command::GenericMetadata& metadata) = 0; + const GenericMetadata& metadata) = 0; virtual int32_t setLayerPerFrameMetadata(int64_t display, int64_t layer, const std::vector<std::optional<PerFrameMetadata>>& metadata) = 0; virtual int32_t setLayerPerFrameMetadataBlobs(int64_t display, int64_t layer, |