diff --git a/drm/DrmAtomicStateManager.cpp b/drm/DrmAtomicStateManager.cpp index 2024c55..8510489 100644 --- a/drm/DrmAtomicStateManager.cpp +++ b/drm/DrmAtomicStateManager.cpp @@ -29,10 +29,16 @@ #include +#include "compositor/LayerData.h" +#include "compositor/LayerToPlaneJoiningPlan.h" +#include "drm/DrmConnector.h" #include "drm/DrmCrtc.h" #include "drm/DrmDevice.h" +#include "drm/DrmDisplayPipeline.h" +#include "drm/DrmFbImporter.h" #include "drm/DrmPlane.h" #include "drm/DrmUnique.h" +#include "utils/fd.h" #include "utils/log.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmAtomicStateManager.h b/drm/DrmAtomicStateManager.h index cdc3bda..668af1b 100644 --- a/drm/DrmAtomicStateManager.h +++ b/drm/DrmAtomicStateManager.h @@ -22,16 +22,30 @@ #include #include #include +#include + +#include -#include "compositor/DisplayInfo.h" #include "compositor/LayerData.h" -#include "compositor/LayerToPlaneJoiningPlan.h" -#include "drm/DrmPlane.h" -#include "drm/ResourceManager.h" -#include "drm/VSyncWorker.h" +#include "drm/DrmMode.h" +#include "utils/fd.h" namespace android::drm_hwcomposer { +template +class BindingOwner; + +class DrmFbIdHandle; +class DrmPlane; + +struct DrmDisplayPipeline; +struct LayerToPlaneJoiningPlan; + +enum class Colorspace; +enum class ContentProtection; +enum class ContentType; +enum class HdcpContentType; + struct AtomicCommitArgs { /* inputs. All fields are optional, but at least one has to be specified */ bool test_only = false; diff --git a/drm/DrmConnector.cpp b/drm/DrmConnector.cpp index 1692505..c272427 100644 --- a/drm/DrmConnector.cpp +++ b/drm/DrmConnector.cpp @@ -27,8 +27,13 @@ #include #include -#include "DrmDevice.h" #include "compositor/DisplayInfo.h" +#include "drm/DrmDevice.h" +#include "drm/DrmEncoder.h" +#include "drm/DrmMode.h" +#include "drm/DrmProperty.h" +#include "drm/DrmUnique.h" +#include "utils/log.h" #ifndef DRM_MODE_CONNECTOR_SPI // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) diff --git a/drm/DrmConnector.h b/drm/DrmConnector.h index 6f2d857..bc9b580 100644 --- a/drm/DrmConnector.h +++ b/drm/DrmConnector.h @@ -22,15 +22,18 @@ #include #include -#include "DrmEncoder.h" -#include "DrmMode.h" -#include "DrmProperty.h" -#include "DrmUnique.h" -#include "compositor/DisplayInfo.h" +#include "drm/DrmDisplayPipeline.h" +#include "drm/DrmProperty.h" +#include "drm/DrmUnique.h" namespace android::drm_hwcomposer { class DrmDevice; +class DrmProperty; +class DrmMode; + +enum class Colorspace; +enum class PanelOrientation; class DrmConnector : public PipelineBindable { friend class FakeDrmConnector; diff --git a/drm/DrmCrtc.cpp b/drm/DrmCrtc.cpp index f6584d7..38f310f 100644 --- a/drm/DrmCrtc.cpp +++ b/drm/DrmCrtc.cpp @@ -18,12 +18,14 @@ #include "DrmCrtc.h" -#include #include #include -#include "DrmDevice.h" +#include "drm/DrmDevice.h" +#include "drm/DrmProperty.h" +#include "drm/DrmUnique.h" +#include "utils/log.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmCrtc.h b/drm/DrmCrtc.h index 9d95766..ad55c0f 100644 --- a/drm/DrmCrtc.h +++ b/drm/DrmCrtc.h @@ -20,10 +20,9 @@ #include -#include "DrmDisplayPipeline.h" -#include "DrmMode.h" -#include "DrmProperty.h" -#include "DrmUnique.h" +#include "drm/DrmDisplayPipeline.h" +#include "drm/DrmProperty.h" +#include "drm/DrmUnique.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmDevice.cpp b/drm/DrmDevice.cpp index 533603a..b1a3c18 100644 --- a/drm/DrmDevice.cpp +++ b/drm/DrmDevice.cpp @@ -27,12 +27,17 @@ #include #include -#include "drm/DrmAtomicStateManager.h" +#include "bufferinfo/BufferInfo.h" #include "drm/DrmConnector.h" +#include "drm/DrmCrtc.h" +#include "drm/DrmEncoder.h" +#include "drm/DrmFbImporter.h" #include "drm/DrmPlane.h" +#include "drm/DrmProperty.h" +#include "drm/DrmUnique.h" #include "drm/ResourceManager.h" +#include "utils/fd.h" #include "utils/log.h" -#include "utils/properties.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmDevice.h b/drm/DrmDevice.h index 6526964..ca5a135 100644 --- a/drm/DrmDevice.h +++ b/drm/DrmDevice.h @@ -21,16 +21,18 @@ #include #include -#include "DrmConnector.h" -#include "DrmCrtc.h" -#include "DrmEncoder.h" -#include "bufferinfo/BufferInfo.h" +#include "drm/DrmUnique.h" #include "utils/fd.h" namespace android::drm_hwcomposer { +struct BufferInfo; +class DrmConnector; +class DrmCrtc; +class DrmEncoder; class DrmFbImporter; class DrmPlane; +class DrmProperty; class ResourceManager; class DrmDevice { diff --git a/drm/DrmDisplayPipeline.cpp b/drm/DrmDisplayPipeline.cpp index ee9dd3c..318d7d9 100644 --- a/drm/DrmDisplayPipeline.cpp +++ b/drm/DrmDisplayPipeline.cpp @@ -18,13 +18,13 @@ #include "DrmDisplayPipeline.h" -#include "DrmAtomicStateManager.h" -#include "DrmConnector.h" -#include "DrmCrtc.h" -#include "DrmDevice.h" -#include "DrmEncoder.h" -#include "DrmPlane.h" #include "compositor/CompositionPlanner.h" +#include "drm/DrmAtomicStateManager.h" +#include "drm/DrmConnector.h" +#include "drm/DrmCrtc.h" +#include "drm/DrmDevice.h" +#include "drm/DrmEncoder.h" +#include "drm/DrmPlane.h" #include "utils/log.h" #include "utils/properties.h" diff --git a/drm/DrmDisplayPipeline.h b/drm/DrmDisplayPipeline.h index 6cbacc0..c531689 100644 --- a/drm/DrmDisplayPipeline.h +++ b/drm/DrmDisplayPipeline.h @@ -22,12 +22,12 @@ namespace android::drm_hwcomposer { class CompositionPlanner; -class DrmConnector; -class DrmDevice; -class DrmPlane; -class DrmCrtc; -class DrmEncoder; class DrmAtomicStateManager; +class DrmConnector; +class DrmCrtc; +class DrmDevice; +class DrmEncoder; +class DrmPlane; struct DrmDisplayPipeline; diff --git a/drm/DrmDisplayPipelineTest.cpp b/drm/DrmDisplayPipelineTest.cpp index ac54984..66fb9e2 100644 --- a/drm/DrmDisplayPipelineTest.cpp +++ b/drm/DrmDisplayPipelineTest.cpp @@ -20,12 +20,12 @@ #include #include -#include "DrmConnector.h" -#include "DrmCrtc.h" -#include "DrmDevice.h" -#include "DrmDisplayPipeline.h" -#include "DrmEncoder.h" -#include "DrmPlane.h" +#include "drm/DrmConnector.h" +#include "drm/DrmCrtc.h" +#include "drm/DrmDevice.h" +#include "drm/DrmDisplayPipeline.h" +#include "drm/DrmEncoder.h" +#include "drm/DrmPlane.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmEncoder.cpp b/drm/DrmEncoder.cpp index cc4dac8..d5576ac 100644 --- a/drm/DrmEncoder.cpp +++ b/drm/DrmEncoder.cpp @@ -22,7 +22,9 @@ #include -#include "DrmDevice.h" +#include "drm/DrmCrtc.h" +#include "drm/DrmDevice.h" +#include "drm/DrmUnique.h" #include "utils/log.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmEncoder.h b/drm/DrmEncoder.h index 85cfd2a..d102dff 100644 --- a/drm/DrmEncoder.h +++ b/drm/DrmEncoder.h @@ -22,11 +22,14 @@ #include #include -#include "DrmCrtc.h" -#include "DrmDisplayPipeline.h" +#include "drm/DrmDisplayPipeline.h" +#include "drm/DrmUnique.h" namespace android::drm_hwcomposer { +class DrmCrtc; +class DrmDevice; + class DrmEncoder : public PipelineBindable { friend class FakeDrmEncoder; diff --git a/drm/DrmFbImporter.cpp b/drm/DrmFbImporter.cpp index 2188310..18df53d 100644 --- a/drm/DrmFbImporter.cpp +++ b/drm/DrmFbImporter.cpp @@ -29,8 +29,9 @@ #include #include +#include "bufferinfo/BufferInfo.h" +#include "drm/DrmDevice.h" #include "utils/log.h" -#include "utils/properties.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmFbImporter.h b/drm/DrmFbImporter.h index a8b9dcf..3ef7373 100644 --- a/drm/DrmFbImporter.h +++ b/drm/DrmFbImporter.h @@ -23,7 +23,6 @@ #include #include "bufferinfo/BufferInfo.h" -#include "drm/DrmDevice.h" #include "utils/fd.h" #ifndef DRM_FORMAT_INVALID @@ -34,6 +33,8 @@ using GemHandle = uint32_t; namespace android::drm_hwcomposer { +class DrmDevice; + class DrmFbIdHandle { public: static auto CreateInstance(BufferInfo *bo, GemHandle first_gem_handle, diff --git a/drm/DrmHwc.cpp b/drm/DrmHwc.cpp index 7cfd48c..b675148 100644 --- a/drm/DrmHwc.cpp +++ b/drm/DrmHwc.cpp @@ -24,6 +24,9 @@ #include #include +#include "drm/DrmConnector.h" +#include "drm/DrmDisplayPipeline.h" +#include "hwc/HwcDisplay.h" #include "stats/CompositionStats.h" #include "utils/log.h" #include "utils/properties.h" diff --git a/drm/DrmHwc.h b/drm/DrmHwc.h index 333a8f3..9fa0ffb 100644 --- a/drm/DrmHwc.h +++ b/drm/DrmHwc.h @@ -16,13 +16,14 @@ #pragma once -#include "drm/DrmDisplayPipeline.h" #include "drm/ResourceManager.h" #include "hwc/HwcDisplay.h" #include "stats/CompositionStats.h" namespace android::drm_hwcomposer { +struct DrmDisplayPipeline; + class DrmHwc : public PipelineToFrontendBindingInterface, public CompositionStatsProvider { public: diff --git a/drm/DrmMode.cpp b/drm/DrmMode.cpp index 7fbf192..6cdd1be 100644 --- a/drm/DrmMode.cpp +++ b/drm/DrmMode.cpp @@ -18,7 +18,8 @@ #include -#include "DrmDevice.h" +#include "drm/DrmDevice.h" +#include "drm/DrmUnique.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmMode.h b/drm/DrmMode.h index 217aa56..e0516c0 100644 --- a/drm/DrmMode.h +++ b/drm/DrmMode.h @@ -22,7 +22,7 @@ #include #include -#include "DrmUnique.h" +#include "drm/DrmUnique.h" namespace android::drm_hwcomposer { diff --git a/drm/DrmPlane.cpp b/drm/DrmPlane.cpp index a147827..45f55d3 100644 --- a/drm/DrmPlane.cpp +++ b/drm/DrmPlane.cpp @@ -23,9 +23,10 @@ #include #include -#include "DrmDevice.h" #include "bufferinfo/BufferInfoGetter.h" #include "compositor/LayerData.h" +#include "drm/DrmCrtc.h" +#include "drm/DrmDevice.h" #include "drm/DrmFbImporter.h" #include "utils/log.h" diff --git a/drm/DrmPlane.h b/drm/DrmPlane.h index 16fbc22..2e65921 100644 --- a/drm/DrmPlane.h +++ b/drm/DrmPlane.h @@ -21,15 +21,22 @@ #include #include -#include "DrmCrtc.h" -#include "DrmProperty.h" -#include "compositor/LayerData.h" +#include "drm/DrmDisplayPipeline.h" +#include "drm/DrmProperty.h" +#include "drm/DrmUnique.h" namespace android::drm_hwcomposer { +class DrmCrtc; class DrmDevice; + +struct DstRectInfo; struct LayerData; +enum class BufferBlendMode; +enum class BufferColorSpace; +enum class BufferSampleRange; + // NOLINTNEXTLINE(readability-identifier-naming) struct drm_plane_size_hint_local { __u16 width; diff --git a/drm/DrmProperty.cpp b/drm/DrmProperty.cpp index c9df052..5db3477 100644 --- a/drm/DrmProperty.cpp +++ b/drm/DrmProperty.cpp @@ -26,7 +26,7 @@ #include #include -#include "DrmDevice.h" +#include "utils/fd.h" #include "utils/log.h" namespace android::drm_hwcomposer { diff --git a/drm/ResourceManager.cpp b/drm/ResourceManager.cpp index d44e77e..58c1632 100644 --- a/drm/ResourceManager.cpp +++ b/drm/ResourceManager.cpp @@ -26,10 +26,10 @@ #include "backend/BackendManager.h" #include "bufferinfo/BufferInfoGetter.h" -#include "drm/DrmAtomicStateManager.h" +#include "drm/DrmConnector.h" #include "drm/DrmDevice.h" #include "drm/DrmDisplayPipeline.h" -#include "drm/DrmPlane.h" +#include "drm/UEventListener.h" #include "utils/log.h" #include "utils/properties.h" diff --git a/drm/ResourceManager.h b/drm/ResourceManager.h index 087d450..0a2dabd 100644 --- a/drm/ResourceManager.h +++ b/drm/ResourceManager.h @@ -17,18 +17,18 @@ #pragma once #include +#include #include #include -#include "DrmDevice.h" -#include "DrmDisplayPipeline.h" -#include "DrmFbImporter.h" -#include "DrmProperty.h" -#include "UEventListener.h" -#include "utils/properties.h" - namespace android::drm_hwcomposer { +enum class CtmHandling; +class DrmConnector; +class DrmDevice; +struct DrmDisplayPipeline; +class UEventListener; + class PipelineToFrontendBindingInterface { public: virtual ~PipelineToFrontendBindingInterface() = default; diff --git a/drm/UEventListener.cpp b/drm/UEventListener.cpp index 2b1421f..56770bc 100644 --- a/drm/UEventListener.cpp +++ b/drm/UEventListener.cpp @@ -20,6 +20,7 @@ #include +#include "utils/UEvent.h" #include "utils/log.h" namespace android::drm_hwcomposer { diff --git a/drm/UEventListener.h b/drm/UEventListener.h index 44580cc..d22cd59 100644 --- a/drm/UEventListener.h +++ b/drm/UEventListener.h @@ -20,10 +20,10 @@ #include #include -#include "utils/UEvent.h" - namespace android::drm_hwcomposer { +class UEvent; + class UEventListener { public: ~UEventListener(); diff --git a/drm/VSyncWorker.cpp b/drm/VSyncWorker.cpp index 0646422..8c7324f 100644 --- a/drm/VSyncWorker.cpp +++ b/drm/VSyncWorker.cpp @@ -27,7 +27,11 @@ #include #include +#include "drm/DrmCrtc.h" +#include "drm/DrmDevice.h" +#include "drm/DrmDisplayPipeline.h" #include "drm/ResourceManager.h" +#include "utils/fd.h" #include "utils/log.h" namespace android::drm_hwcomposer { diff --git a/drm/VSyncWorker.h b/drm/VSyncWorker.h index f59b7bf..9ab3480 100644 --- a/drm/VSyncWorker.h +++ b/drm/VSyncWorker.h @@ -24,10 +24,12 @@ #include -#include "DrmDevice.h" +#include "utils/fd.h" namespace android::drm_hwcomposer { +struct DrmDisplayPipeline; + class VSyncWorker { public: using VsyncTimestampCallback = std::function