Loading services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,7 @@ public: // only has a value if there's something needing it, like when a TrustedPresentationListener // is set std::optional<Region> aboveCoveredLayersExcludingOverlays; int32_t aboveBlurRequests = 0; }; virtual ~Output(); Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ protected: private: void dirtyEntireOutput(); compositionengine::OutputLayer* findLayerRequestingBackgroundComposition() const; void sanitizeOutputLayers() const; void finishPrepareFrame(); ui::Dataspace getBestDataspace(ui::Dataspace*, bool*) const; compositionengine::Output::ColorProfile pickColorProfile( Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h +3 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,9 @@ struct OutputLayerCompositionState { // The picture profile for this layer. PictureProfileHandle pictureProfileHandle; // ignore blur requests if there's just too many on top of this layer bool ignoreBlur{false}; // Overrides the buffer, acquire fence, and display frame stored in LayerFECompositionState struct { std::shared_ptr<renderengine::ExternalTexture> buffer = nullptr; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/CachedSet.h +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ public: const std::string& getName() const { return mState->getName(); } int32_t getBackgroundBlurRadius() const { return mState->getBackgroundBlurRadius(); } Rect getDisplayFrame() const { return mState->getDisplayFrame(); } bool hasBlurBehind() const { return mState->hasBlurBehind(); } const Region& getVisibleRegion() const { return mState->getVisibleRegion(); } const sp<GraphicBuffer>& getBuffer() const { return mState->getOutputLayer()->getLayerFE().getCompositionState()->buffer; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/LayerState.h +13 −7 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ enum class LayerStateField : uint32_t { HasProtectedContent = 1u << 19, CachingHint = 1u << 20, DimmingEnabled = 1u << 21, BlursDisabled = 1u << 22, }; // clang-format on Loading Loading @@ -236,7 +237,8 @@ public: Rect getDisplayFrame() const { return mDisplayFrame.get(); } const Region& getVisibleRegion() const { return mVisibleRegion.get(); } bool hasBlurBehind() const { return mBackgroundBlurRadius.get() > 0 || !mBlurRegions.get().empty(); return (mBackgroundBlurRadius.get() > 0 || !mBlurRegions.get().empty()) && !mIsBlursDisabled.get(); } int32_t getBackgroundBlurRadius() const { return mBackgroundBlurRadius.get(); } aidl::android::hardware::graphics::composer3::Composition getCompositionType() const { Loading Loading @@ -508,7 +510,10 @@ private: OutputLayerState<bool, LayerStateField::DimmingEnabled> mIsDimmingEnabled{ [](auto layer) { return layer->getLayerFE().getCompositionState()->dimmingEnabled; }}; static const constexpr size_t kNumNonUniqueFields = 20; OutputLayerState<bool, LayerStateField::BlursDisabled> mIsBlursDisabled{ [](auto layer) { return layer->getState().ignoreBlur; }}; static const constexpr size_t kNumNonUniqueFields = 21; std::array<StateInterface*, kNumNonUniqueFields> getNonUniqueFields() { std::array<const StateInterface*, kNumNonUniqueFields> constFields = Loading @@ -526,7 +531,8 @@ private: &mAlpha, &mLayerMetadata, &mVisibleRegion, &mOutputDataspace, &mPixelFormat, &mColorTransform, &mCompositionType, &mSidebandStream, &mBuffer, &mSolidColor, &mBackgroundBlurRadius, &mBlurRegions, &mFrameNumber, &mIsProtected, &mCachingHint, &mIsDimmingEnabled}; &mFrameNumber, &mIsProtected, &mCachingHint, &mIsDimmingEnabled, &mIsBlursDisabled}; } }; Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,7 @@ public: // only has a value if there's something needing it, like when a TrustedPresentationListener // is set std::optional<Region> aboveCoveredLayersExcludingOverlays; int32_t aboveBlurRequests = 0; }; virtual ~Output(); Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +1 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ protected: private: void dirtyEntireOutput(); compositionengine::OutputLayer* findLayerRequestingBackgroundComposition() const; void sanitizeOutputLayers() const; void finishPrepareFrame(); ui::Dataspace getBestDataspace(ui::Dataspace*, bool*) const; compositionengine::Output::ColorProfile pickColorProfile( Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h +3 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,9 @@ struct OutputLayerCompositionState { // The picture profile for this layer. PictureProfileHandle pictureProfileHandle; // ignore blur requests if there's just too many on top of this layer bool ignoreBlur{false}; // Overrides the buffer, acquire fence, and display frame stored in LayerFECompositionState struct { std::shared_ptr<renderengine::ExternalTexture> buffer = nullptr; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/CachedSet.h +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ public: const std::string& getName() const { return mState->getName(); } int32_t getBackgroundBlurRadius() const { return mState->getBackgroundBlurRadius(); } Rect getDisplayFrame() const { return mState->getDisplayFrame(); } bool hasBlurBehind() const { return mState->hasBlurBehind(); } const Region& getVisibleRegion() const { return mState->getVisibleRegion(); } const sp<GraphicBuffer>& getBuffer() const { return mState->getOutputLayer()->getLayerFE().getCompositionState()->buffer; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/planner/LayerState.h +13 −7 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ enum class LayerStateField : uint32_t { HasProtectedContent = 1u << 19, CachingHint = 1u << 20, DimmingEnabled = 1u << 21, BlursDisabled = 1u << 22, }; // clang-format on Loading Loading @@ -236,7 +237,8 @@ public: Rect getDisplayFrame() const { return mDisplayFrame.get(); } const Region& getVisibleRegion() const { return mVisibleRegion.get(); } bool hasBlurBehind() const { return mBackgroundBlurRadius.get() > 0 || !mBlurRegions.get().empty(); return (mBackgroundBlurRadius.get() > 0 || !mBlurRegions.get().empty()) && !mIsBlursDisabled.get(); } int32_t getBackgroundBlurRadius() const { return mBackgroundBlurRadius.get(); } aidl::android::hardware::graphics::composer3::Composition getCompositionType() const { Loading Loading @@ -508,7 +510,10 @@ private: OutputLayerState<bool, LayerStateField::DimmingEnabled> mIsDimmingEnabled{ [](auto layer) { return layer->getLayerFE().getCompositionState()->dimmingEnabled; }}; static const constexpr size_t kNumNonUniqueFields = 20; OutputLayerState<bool, LayerStateField::BlursDisabled> mIsBlursDisabled{ [](auto layer) { return layer->getState().ignoreBlur; }}; static const constexpr size_t kNumNonUniqueFields = 21; std::array<StateInterface*, kNumNonUniqueFields> getNonUniqueFields() { std::array<const StateInterface*, kNumNonUniqueFields> constFields = Loading @@ -526,7 +531,8 @@ private: &mAlpha, &mLayerMetadata, &mVisibleRegion, &mOutputDataspace, &mPixelFormat, &mColorTransform, &mCompositionType, &mSidebandStream, &mBuffer, &mSolidColor, &mBackgroundBlurRadius, &mBlurRegions, &mFrameNumber, &mIsProtected, &mCachingHint, &mIsDimmingEnabled}; &mFrameNumber, &mIsProtected, &mCachingHint, &mIsDimmingEnabled, &mIsBlursDisabled}; } }; Loading