Index: include/core/SkTraceMemoryDump.h |
diff --git a/include/core/SkTraceMemoryDump.h b/include/core/SkTraceMemoryDump.h |
index d7c565f5707b1ed455b6f1d0be5471636f1a38c3..c0db01a19b2285274dd3ffe3bae5b4d90b8b3f8d 100644 |
--- a/include/core/SkTraceMemoryDump.h |
+++ b/include/core/SkTraceMemoryDump.h |
@@ -20,6 +20,16 @@ class SkDiscardableMemory; |
class SK_API SkTraceMemoryDump { |
public: |
/** |
+ * Enum of bit fields to specify the requested details for the dump from the Skia objects. |
+ */ |
+ enum RequestedDetails { |
+ kMemoryTotals = 1 << 0, |
+ kMallocDetails = 1 << 1, |
+ kDiscardableDetails = 1 << 2, |
+ kGpuMemoryDetails = 1 << 3 |
+ }; |
+ |
+ /** |
* Appends a new memory dump (i.e. a row) to the trace memory infrastructure. |
* If dumpName does not exist yet, a new one is created. Otherwise, a new column is appended to |
* the previously created dump. |
@@ -55,6 +65,13 @@ public: |
const char* dumpName, |
const SkDiscardableMemory& discardableMemoryObject) = 0; |
+ /** |
+ * Returns a bit mask of RequestedDetails enum. The embedder can request only the details |
+ required in the dump. It is expected that the skia objects can add extra details if one mask |
+ field is related to the other. |
+ */ |
+ virtual int getRequestedDetails() const = 0; |
Primiano Tucci (use gerrit)
2015/09/11 12:16:16
I'd probably make this uint and fixed size (uint32
|
+ |
protected: |
virtual ~SkTraceMemoryDump() { } |
}; |