Loading services/surfaceflinger/BufferLayer.cpp +5 −2 Original line number Original line Diff line number Diff line Loading @@ -125,9 +125,11 @@ static constexpr mat4 inverseOrientation(uint32_t transform) { bool BufferLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool BufferLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, const bool supportProtectedContent, renderengine::LayerSettings& layer) { renderengine::LayerSettings& layer) { ATRACE_CALL(); ATRACE_CALL(); Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, layer); Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, supportProtectedContent, layer); if (CC_UNLIKELY(mActiveBuffer == 0)) { if (CC_UNLIKELY(mActiveBuffer == 0)) { // the texture has not been created yet, this Layer has // the texture has not been created yet, this Layer has // in fact never been drawn into. This happens frequently with // in fact never been drawn into. This happens frequently with Loading @@ -154,7 +156,8 @@ bool BufferLayer::prepareClientLayer(const RenderArea& renderArea, const Region& } } return false; return false; } } bool blackOutLayer = isProtected() || (isSecure() && !renderArea.isSecure()); bool blackOutLayer = (isProtected() && !supportProtectedContent) || (isSecure() && !renderArea.isSecure()); const State& s(getDrawingState()); const State& s(getDrawingState()); if (!blackOutLayer) { if (!blackOutLayer) { layer.source.buffer.buffer = mActiveBuffer; layer.source.buffer.buffer = mActiveBuffer; Loading services/surfaceflinger/BufferLayer.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -168,7 +168,8 @@ protected: // prepareClientLayer - constructs a RenderEngine layer for GPU composition. // prepareClientLayer - constructs a RenderEngine layer for GPU composition. bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, renderengine::LayerSettings& layer); const bool supportProtectedContent, renderengine::LayerSettings& layer) override; private: private: // Returns true if this layer requires filtering // Returns true if this layer requires filtering Loading services/surfaceflinger/ColorLayer.cpp +3 −1 Original line number Original line Diff line number Diff line Loading @@ -50,8 +50,10 @@ ColorLayer::~ColorLayer() = default; bool ColorLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool ColorLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, const bool supportProtectedContent, renderengine::LayerSettings& layer) { renderengine::LayerSettings& layer) { Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, layer); Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, supportProtectedContent, layer); half4 color(getColor()); half4 color(getColor()); half3 solidColor(color.r, color.g, color.b); half3 solidColor(color.r, color.g, color.b); layer.source.solidColor = solidColor; layer.source.solidColor = solidColor; Loading services/surfaceflinger/ColorLayer.h +4 −3 Original line number Original line Diff line number Diff line Loading @@ -42,9 +42,10 @@ public: protected: protected: FloatRect computeCrop(const sp<const DisplayDevice>& /*display*/) const override { return {}; } FloatRect computeCrop(const sp<const DisplayDevice>& /*display*/) const override { return {}; } virtual bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, renderengine::LayerSettings& layer); const bool supportProtectedContent, renderengine::LayerSettings& layer) override; private: private: std::shared_ptr<compositionengine::Layer> mCompositionLayer; std::shared_ptr<compositionengine::Layer> mCompositionLayer; Loading services/surfaceflinger/ContainerLayer.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,7 @@ ContainerLayer::ContainerLayer(const LayerCreationArgs& args) : Layer(args) {} ContainerLayer::~ContainerLayer() = default; ContainerLayer::~ContainerLayer() = default; bool ContainerLayer::prepareClientLayer(const RenderArea&, const Region&, bool, Region&, bool ContainerLayer::prepareClientLayer(const RenderArea&, const Region&, bool, Region&, const bool, renderengine::LayerSettings&) { renderengine::LayerSettings&) { return false; return false; } } Loading Loading
services/surfaceflinger/BufferLayer.cpp +5 −2 Original line number Original line Diff line number Diff line Loading @@ -125,9 +125,11 @@ static constexpr mat4 inverseOrientation(uint32_t transform) { bool BufferLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool BufferLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, const bool supportProtectedContent, renderengine::LayerSettings& layer) { renderengine::LayerSettings& layer) { ATRACE_CALL(); ATRACE_CALL(); Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, layer); Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, supportProtectedContent, layer); if (CC_UNLIKELY(mActiveBuffer == 0)) { if (CC_UNLIKELY(mActiveBuffer == 0)) { // the texture has not been created yet, this Layer has // the texture has not been created yet, this Layer has // in fact never been drawn into. This happens frequently with // in fact never been drawn into. This happens frequently with Loading @@ -154,7 +156,8 @@ bool BufferLayer::prepareClientLayer(const RenderArea& renderArea, const Region& } } return false; return false; } } bool blackOutLayer = isProtected() || (isSecure() && !renderArea.isSecure()); bool blackOutLayer = (isProtected() && !supportProtectedContent) || (isSecure() && !renderArea.isSecure()); const State& s(getDrawingState()); const State& s(getDrawingState()); if (!blackOutLayer) { if (!blackOutLayer) { layer.source.buffer.buffer = mActiveBuffer; layer.source.buffer.buffer = mActiveBuffer; Loading
services/surfaceflinger/BufferLayer.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -168,7 +168,8 @@ protected: // prepareClientLayer - constructs a RenderEngine layer for GPU composition. // prepareClientLayer - constructs a RenderEngine layer for GPU composition. bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, renderengine::LayerSettings& layer); const bool supportProtectedContent, renderengine::LayerSettings& layer) override; private: private: // Returns true if this layer requires filtering // Returns true if this layer requires filtering Loading
services/surfaceflinger/ColorLayer.cpp +3 −1 Original line number Original line Diff line number Diff line Loading @@ -50,8 +50,10 @@ ColorLayer::~ColorLayer() = default; bool ColorLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool ColorLayer::prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, const bool supportProtectedContent, renderengine::LayerSettings& layer) { renderengine::LayerSettings& layer) { Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, layer); Layer::prepareClientLayer(renderArea, clip, useIdentityTransform, clearRegion, supportProtectedContent, layer); half4 color(getColor()); half4 color(getColor()); half3 solidColor(color.r, color.g, color.b); half3 solidColor(color.r, color.g, color.b); layer.source.solidColor = solidColor; layer.source.solidColor = solidColor; Loading
services/surfaceflinger/ColorLayer.h +4 −3 Original line number Original line Diff line number Diff line Loading @@ -42,9 +42,10 @@ public: protected: protected: FloatRect computeCrop(const sp<const DisplayDevice>& /*display*/) const override { return {}; } FloatRect computeCrop(const sp<const DisplayDevice>& /*display*/) const override { return {}; } virtual bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool prepareClientLayer(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform, Region& clearRegion, bool useIdentityTransform, Region& clearRegion, renderengine::LayerSettings& layer); const bool supportProtectedContent, renderengine::LayerSettings& layer) override; private: private: std::shared_ptr<compositionengine::Layer> mCompositionLayer; std::shared_ptr<compositionengine::Layer> mCompositionLayer; Loading
services/surfaceflinger/ContainerLayer.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,7 @@ ContainerLayer::ContainerLayer(const LayerCreationArgs& args) : Layer(args) {} ContainerLayer::~ContainerLayer() = default; ContainerLayer::~ContainerLayer() = default; bool ContainerLayer::prepareClientLayer(const RenderArea&, const Region&, bool, Region&, bool ContainerLayer::prepareClientLayer(const RenderArea&, const Region&, bool, Region&, const bool, renderengine::LayerSettings&) { renderengine::LayerSettings&) { return false; return false; } } Loading