Loading services/surfaceflinger/Layer.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -553,8 +553,6 @@ void Layer::dump(String8& result, char* buffer, size_t SIZE) const result.append(buffer); LayerBase::dumpStats(result, buffer, SIZE); if (mSurfaceTexture != 0) { mSurfaceTexture->dump(result, " ", buffer, SIZE); } Loading @@ -580,6 +578,12 @@ void Layer::dumpStats(String8& result, char* buffer, size_t SIZE) const result.append("\n"); } void Layer::clearStats() { LayerBaseClient::clearStats(); memset(mFrameStats, 0, sizeof(mFrameStats)); } uint32_t Layer::getEffectiveUsage(uint32_t usage) const { // TODO: should we do something special if mSecure is set? Loading services/surfaceflinger/Layer.h +1 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ protected: virtual void onFirstRef(); virtual void dump(String8& result, char* scratch, size_t size) const; virtual void dumpStats(String8& result, char* buffer, size_t SIZE) const; virtual void clearStats(); private: friend class SurfaceTextureLayer; Loading services/surfaceflinger/LayerBase.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -489,13 +489,14 @@ void LayerBase::dump(String8& result, char* buffer, size_t SIZE) const result.append(buffer); } void LayerBase::shortDump(String8& result, char* scratch, size_t size) const { void LayerBase::shortDump(String8& result, char* scratch, size_t size) const { LayerBase::dump(result, scratch, size); } void LayerBase::dumpStats(String8& result, char* scratch, size_t SIZE) const { void LayerBase::dumpStats(String8& result, char* scratch, size_t SIZE) const { } void LayerBase::clearStats() { } // --------------------------------------------------------------------------- Loading services/surfaceflinger/LayerBase.h +1 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,7 @@ public: virtual void dump(String8& result, char* scratch, size_t size) const; virtual void shortDump(String8& result, char* scratch, size_t size) const; virtual void dumpStats(String8& result, char* buffer, size_t SIZE) const; virtual void clearStats(); enum { // flags for doTransaction() Loading services/surfaceflinger/SurfaceFlinger.cpp +48 −2 Original line number Diff line number Diff line Loading @@ -1486,12 +1486,27 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args) bool dumpAll = true; size_t index = 0; if (args.size()) { size_t numArgs = args.size(); if (numArgs) { dumpAll = false; if (args[index] == String16("--latency")) { if ((index < numArgs) && (args[index] == String16("--list"))) { index++; listLayersLocked(args, index, result, buffer, SIZE); } if ((index < numArgs) && (args[index] == String16("--latency"))) { index++; dumpStatsLocked(args, index, result, buffer, SIZE); } if ((index < numArgs) && (args[index] == String16("--latency-clear"))) { index++; clearStatsLocked(args, index, result, buffer, SIZE); } } if (dumpAll) { Loading @@ -1506,6 +1521,18 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args) return NO_ERROR; } void SurfaceFlinger::listLayersLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const { const LayerVector& currentLayers = mCurrentState.layersSortedByZ; const size_t count = currentLayers.size(); for (size_t i=0 ; i<count ; i++) { const sp<LayerBase>& layer(currentLayers[i]); snprintf(buffer, SIZE, "%s\n", layer->getName().string()); result.append(buffer); } } void SurfaceFlinger::dumpStatsLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const { Loading @@ -1529,6 +1556,25 @@ void SurfaceFlinger::dumpStatsLocked(const Vector<String16>& args, size_t& index } } void SurfaceFlinger::clearStatsLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const { String8 name; if (index < args.size()) { name = String8(args[index]); index++; } const LayerVector& currentLayers = mCurrentState.layersSortedByZ; const size_t count = currentLayers.size(); for (size_t i=0 ; i<count ; i++) { const sp<LayerBase>& layer(currentLayers[i]); if (name.isEmpty() || (name == layer->getName())) { layer->clearStats(); } } } void SurfaceFlinger::dumpAllLocked( String8& result, char* buffer, size_t SIZE) const { Loading Loading
services/surfaceflinger/Layer.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -553,8 +553,6 @@ void Layer::dump(String8& result, char* buffer, size_t SIZE) const result.append(buffer); LayerBase::dumpStats(result, buffer, SIZE); if (mSurfaceTexture != 0) { mSurfaceTexture->dump(result, " ", buffer, SIZE); } Loading @@ -580,6 +578,12 @@ void Layer::dumpStats(String8& result, char* buffer, size_t SIZE) const result.append("\n"); } void Layer::clearStats() { LayerBaseClient::clearStats(); memset(mFrameStats, 0, sizeof(mFrameStats)); } uint32_t Layer::getEffectiveUsage(uint32_t usage) const { // TODO: should we do something special if mSecure is set? Loading
services/surfaceflinger/Layer.h +1 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ protected: virtual void onFirstRef(); virtual void dump(String8& result, char* scratch, size_t size) const; virtual void dumpStats(String8& result, char* buffer, size_t SIZE) const; virtual void clearStats(); private: friend class SurfaceTextureLayer; Loading
services/surfaceflinger/LayerBase.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -489,13 +489,14 @@ void LayerBase::dump(String8& result, char* buffer, size_t SIZE) const result.append(buffer); } void LayerBase::shortDump(String8& result, char* scratch, size_t size) const { void LayerBase::shortDump(String8& result, char* scratch, size_t size) const { LayerBase::dump(result, scratch, size); } void LayerBase::dumpStats(String8& result, char* scratch, size_t SIZE) const { void LayerBase::dumpStats(String8& result, char* scratch, size_t SIZE) const { } void LayerBase::clearStats() { } // --------------------------------------------------------------------------- Loading
services/surfaceflinger/LayerBase.h +1 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,7 @@ public: virtual void dump(String8& result, char* scratch, size_t size) const; virtual void shortDump(String8& result, char* scratch, size_t size) const; virtual void dumpStats(String8& result, char* buffer, size_t SIZE) const; virtual void clearStats(); enum { // flags for doTransaction() Loading
services/surfaceflinger/SurfaceFlinger.cpp +48 −2 Original line number Diff line number Diff line Loading @@ -1486,12 +1486,27 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args) bool dumpAll = true; size_t index = 0; if (args.size()) { size_t numArgs = args.size(); if (numArgs) { dumpAll = false; if (args[index] == String16("--latency")) { if ((index < numArgs) && (args[index] == String16("--list"))) { index++; listLayersLocked(args, index, result, buffer, SIZE); } if ((index < numArgs) && (args[index] == String16("--latency"))) { index++; dumpStatsLocked(args, index, result, buffer, SIZE); } if ((index < numArgs) && (args[index] == String16("--latency-clear"))) { index++; clearStatsLocked(args, index, result, buffer, SIZE); } } if (dumpAll) { Loading @@ -1506,6 +1521,18 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args) return NO_ERROR; } void SurfaceFlinger::listLayersLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const { const LayerVector& currentLayers = mCurrentState.layersSortedByZ; const size_t count = currentLayers.size(); for (size_t i=0 ; i<count ; i++) { const sp<LayerBase>& layer(currentLayers[i]); snprintf(buffer, SIZE, "%s\n", layer->getName().string()); result.append(buffer); } } void SurfaceFlinger::dumpStatsLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const { Loading @@ -1529,6 +1556,25 @@ void SurfaceFlinger::dumpStatsLocked(const Vector<String16>& args, size_t& index } } void SurfaceFlinger::clearStatsLocked(const Vector<String16>& args, size_t& index, String8& result, char* buffer, size_t SIZE) const { String8 name; if (index < args.size()) { name = String8(args[index]); index++; } const LayerVector& currentLayers = mCurrentState.layersSortedByZ; const size_t count = currentLayers.size(); for (size_t i=0 ; i<count ; i++) { const sp<LayerBase>& layer(currentLayers[i]); if (name.isEmpty() || (name == layer->getName())) { layer->clearStats(); } } } void SurfaceFlinger::dumpAllLocked( String8& result, char* buffer, size_t SIZE) const { Loading