Loading cmds/atrace/atrace.cpp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -171,6 +171,7 @@ static const TracingCategory k_categories[] = { { OPT, "events/clk/clk_disable/enable" }, { OPT, "events/clk/clk_disable/enable" }, { OPT, "events/clk/clk_enable/enable" }, { OPT, "events/clk/clk_enable/enable" }, { OPT, "events/power/cpu_frequency_limits/enable" }, { OPT, "events/power/cpu_frequency_limits/enable" }, { OPT, "events/power/suspend_resume/enable" }, } }, } }, { "membus", "Memory Bus Utilization", 0, { { "membus", "Memory Bus Utilization", 0, { { REQ, "events/memory_bus/enable" }, { REQ, "events/memory_bus/enable" }, Loading cmds/atrace/atrace.rc +2 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,8 @@ on late-init chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable chmod 0666 /sys/kernel/debug/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/debug/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/debug/tracing/events/power/suspend_resume/enable chmod 0666 /sys/kernel/tracing/events/power/suspend_resume/enable chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable Loading services/surfaceflinger/BufferLayer.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -48,7 +48,7 @@ namespace android { class BufferLayer : public Layer { class BufferLayer : public Layer { public: public: explicit BufferLayer(const LayerCreationArgs& args); explicit BufferLayer(const LayerCreationArgs& args); ~BufferLayer() override; virtual ~BufferLayer() override; // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Overriden from Layer // Overriden from Layer Loading services/surfaceflinger/BufferStateLayer.cpp +10 −4 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,16 @@ BufferStateLayer::BufferStateLayer(const LayerCreationArgs& args) mCurrentState.dataspace = ui::Dataspace::V0_SRGB; mCurrentState.dataspace = ui::Dataspace::V0_SRGB; } } BufferStateLayer::~BufferStateLayer() { if (mActiveBuffer != nullptr) { // Ensure that mActiveBuffer is uncached from RenderEngine here, as // RenderEngine may have been using the buffer as an external texture // after the client uncached the buffer. auto& engine(mFlinger->getRenderEngine()); engine.unbindExternalTextureBuffer(mActiveBuffer->getId()); } } // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Interface implementation for Layer // Interface implementation for Layer // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- Loading Loading @@ -610,10 +620,6 @@ void BufferStateLayer::onFirstRef() { } } } } void BufferStateLayer::bufferErased(const client_cache_t& clientCacheId) { mFlinger->getRenderEngine().unbindExternalTextureBuffer(clientCacheId.id); } void BufferStateLayer::HwcSlotGenerator::bufferErased(const client_cache_t& clientCacheId) { void BufferStateLayer::HwcSlotGenerator::bufferErased(const client_cache_t& clientCacheId) { std::lock_guard lock(mMutex); std::lock_guard lock(mMutex); if (!clientCacheId.isValid()) { if (!clientCacheId.isValid()) { Loading services/surfaceflinger/BufferStateLayer.h +2 −3 Original line number Original line Diff line number Diff line Loading @@ -35,6 +35,8 @@ class BufferStateLayer : public BufferLayer { public: public: explicit BufferStateLayer(const LayerCreationArgs&); explicit BufferStateLayer(const LayerCreationArgs&); ~BufferStateLayer() override; // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Interface implementation for Layer // Interface implementation for Layer // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- Loading Loading @@ -102,9 +104,6 @@ public: bool fenceHasSignaled() const override; bool fenceHasSignaled() const override; bool framePresentTimeIsCurrent() const override; bool framePresentTimeIsCurrent() const override; // Inherit from ClientCache::ErasedRecipient void bufferErased(const client_cache_t& clientCacheId) override; private: private: nsecs_t getDesiredPresentTime() override; nsecs_t getDesiredPresentTime() override; std::shared_ptr<FenceTime> getCurrentFenceTime() const override; std::shared_ptr<FenceTime> getCurrentFenceTime() const override; Loading Loading
cmds/atrace/atrace.cpp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -171,6 +171,7 @@ static const TracingCategory k_categories[] = { { OPT, "events/clk/clk_disable/enable" }, { OPT, "events/clk/clk_disable/enable" }, { OPT, "events/clk/clk_enable/enable" }, { OPT, "events/clk/clk_enable/enable" }, { OPT, "events/power/cpu_frequency_limits/enable" }, { OPT, "events/power/cpu_frequency_limits/enable" }, { OPT, "events/power/suspend_resume/enable" }, } }, } }, { "membus", "Memory Bus Utilization", 0, { { "membus", "Memory Bus Utilization", 0, { { REQ, "events/memory_bus/enable" }, { REQ, "events/memory_bus/enable" }, Loading
cmds/atrace/atrace.rc +2 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,8 @@ on late-init chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable chmod 0666 /sys/kernel/debug/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/debug/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/tracing/events/power/gpu_frequency/enable chmod 0666 /sys/kernel/debug/tracing/events/power/suspend_resume/enable chmod 0666 /sys/kernel/tracing/events/power/suspend_resume/enable chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable Loading
services/surfaceflinger/BufferLayer.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -48,7 +48,7 @@ namespace android { class BufferLayer : public Layer { class BufferLayer : public Layer { public: public: explicit BufferLayer(const LayerCreationArgs& args); explicit BufferLayer(const LayerCreationArgs& args); ~BufferLayer() override; virtual ~BufferLayer() override; // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Overriden from Layer // Overriden from Layer Loading
services/surfaceflinger/BufferStateLayer.cpp +10 −4 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,16 @@ BufferStateLayer::BufferStateLayer(const LayerCreationArgs& args) mCurrentState.dataspace = ui::Dataspace::V0_SRGB; mCurrentState.dataspace = ui::Dataspace::V0_SRGB; } } BufferStateLayer::~BufferStateLayer() { if (mActiveBuffer != nullptr) { // Ensure that mActiveBuffer is uncached from RenderEngine here, as // RenderEngine may have been using the buffer as an external texture // after the client uncached the buffer. auto& engine(mFlinger->getRenderEngine()); engine.unbindExternalTextureBuffer(mActiveBuffer->getId()); } } // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Interface implementation for Layer // Interface implementation for Layer // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- Loading Loading @@ -610,10 +620,6 @@ void BufferStateLayer::onFirstRef() { } } } } void BufferStateLayer::bufferErased(const client_cache_t& clientCacheId) { mFlinger->getRenderEngine().unbindExternalTextureBuffer(clientCacheId.id); } void BufferStateLayer::HwcSlotGenerator::bufferErased(const client_cache_t& clientCacheId) { void BufferStateLayer::HwcSlotGenerator::bufferErased(const client_cache_t& clientCacheId) { std::lock_guard lock(mMutex); std::lock_guard lock(mMutex); if (!clientCacheId.isValid()) { if (!clientCacheId.isValid()) { Loading
services/surfaceflinger/BufferStateLayer.h +2 −3 Original line number Original line Diff line number Diff line Loading @@ -35,6 +35,8 @@ class BufferStateLayer : public BufferLayer { public: public: explicit BufferStateLayer(const LayerCreationArgs&); explicit BufferStateLayer(const LayerCreationArgs&); ~BufferStateLayer() override; // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Interface implementation for Layer // Interface implementation for Layer // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- Loading Loading @@ -102,9 +104,6 @@ public: bool fenceHasSignaled() const override; bool fenceHasSignaled() const override; bool framePresentTimeIsCurrent() const override; bool framePresentTimeIsCurrent() const override; // Inherit from ClientCache::ErasedRecipient void bufferErased(const client_cache_t& clientCacheId) override; private: private: nsecs_t getDesiredPresentTime() override; nsecs_t getDesiredPresentTime() override; std::shared_ptr<FenceTime> getCurrentFenceTime() const override; std::shared_ptr<FenceTime> getCurrentFenceTime() const override; Loading