Chromium Code Reviews| Index: src/gpu/GrGpuResource.cpp |
| diff --git a/src/gpu/GrGpuResource.cpp b/src/gpu/GrGpuResource.cpp |
| index 49212df416d8d639b143e7580fd9f507d33e2395..0c7296b76cec790196cdee1ec4924cf4e6c1ef7c 100644 |
| --- a/src/gpu/GrGpuResource.cpp |
| +++ b/src/gpu/GrGpuResource.cpp |
| @@ -11,6 +11,7 @@ |
| #include "GrResourceCache.h" |
| #include "GrGpu.h" |
| #include "GrGpuResourcePriv.h" |
| +#include "SkTraceMemoryDump.h" |
| static inline GrResourceCache* get_resource_cache(GrGpu* gpu) { |
| SkASSERT(gpu); |
| @@ -52,6 +53,23 @@ void GrGpuResource::abandon() { |
| fGpuMemorySize = 0; |
| } |
| +void GrGpuResource::onMemoryDump(SkTraceMemoryDump* traceMemoryDump) const { |
| + // Dump resource as "skia/gpu_resources/resource_#". |
| + SkString dumpName("skia/gpu_resources/resource_"); |
| + dumpName.appendS32(this->getUniqueID()); |
| + |
| + traceMemoryDump->dumpNumericValue(dumpName.c_str(), "size", "bytes", this->gpuMemorySize()); |
| + |
| + if (this->isPurgeable()) { |
| + traceMemoryDump->dumpNumericValue(dumpName.c_str(), "purgeable_size", "bytes", |
| + this->gpuMemorySize()); |
| + } |
| + |
| + // Call setMemoryBacking to allow sub-classes with implementation specific backings (such as GL |
| + // objects) to provide additional information. |
| + setMemoryBacking(traceMemoryDump, dumpName); |
|
bsalomon
2015/08/26 16:36:00
this->
ericrk
2015/08/26 17:01:09
yup.
|
| +} |
| + |
| const SkData* GrGpuResource::setCustomData(const SkData* data) { |
| SkSafeRef(data); |
| fData.reset(data); |