Index: gpu/command_buffer/service/transfer_buffer_manager.cc |
diff --git a/gpu/command_buffer/service/transfer_buffer_manager.cc b/gpu/command_buffer/service/transfer_buffer_manager.cc |
index 22752bacc2ec573675e64d6bfcf2b17875e53369..a57a4e8ef6f2af67d10a238793abb7c9a5842d09 100644 |
--- a/gpu/command_buffer/service/transfer_buffer_manager.cc |
+++ b/gpu/command_buffer/service/transfer_buffer_manager.cc |
@@ -111,21 +111,31 @@ scoped_refptr<Buffer> TransferBufferManager::GetTransferBuffer(int32_t id) { |
bool TransferBufferManager::OnMemoryDump( |
const base::trace_event::MemoryDumpArgs& args, |
base::trace_event::ProcessMemoryDump* pmd) { |
- for (const auto& buffer_entry : registered_buffers_) { |
- int32_t buffer_id = buffer_entry.first; |
- const Buffer* buffer = buffer_entry.second.get(); |
- std::string dump_name = |
- base::StringPrintf("gpu/transfer_memory/client_%d/buffer_%d", |
- memory_tracker_->ClientId(), buffer_id); |
- base::trace_event::MemoryAllocatorDump* dump = |
- pmd->CreateAllocatorDump(dump_name); |
- dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, |
- base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
- buffer->size()); |
- auto guid = |
- GetBufferGUIDForTracing(memory_tracker_->ClientTracingId(), buffer_id); |
- pmd->CreateSharedGlobalAllocatorDump(guid); |
- pmd->AddOwnershipEdge(dump->guid(), guid); |
+ using base::trace_event::MemoryAllocatorDump; |
+ using base::trace_event::MemoryDumpLevelOfDetail; |
+ |
+ if (args.level_of_detail == MemoryDumpLevelOfDetail::BACKGROUND) { |
+ std::string dump_name = base::StringPrintf("gpu/transfer_memory/client_%d", |
+ memory_tracker_->ClientId()); |
+ MemoryAllocatorDump* dump = pmd->CreateAllocatorDump(dump_name); |
+ dump->AddScalar(MemoryAllocatorDump::kNameSize, |
+ MemoryAllocatorDump::kUnitsBytes, |
+ shared_memory_bytes_allocated_); |
+ } else { |
+ for (const auto& buffer_entry : registered_buffers_) { |
+ int32_t buffer_id = buffer_entry.first; |
+ const Buffer* buffer = buffer_entry.second.get(); |
+ std::string dump_name = |
+ base::StringPrintf("gpu/transfer_memory/client_%d/buffer_%d", |
+ memory_tracker_->ClientId(), buffer_id); |
+ MemoryAllocatorDump* dump = pmd->CreateAllocatorDump(dump_name); |
+ dump->AddScalar(MemoryAllocatorDump::kNameSize, |
+ MemoryAllocatorDump::kUnitsBytes, buffer->size()); |
+ auto guid = GetBufferGUIDForTracing(memory_tracker_->ClientTracingId(), |
+ buffer_id); |
+ pmd->CreateSharedGlobalAllocatorDump(guid); |
+ pmd->AddOwnershipEdge(dump->guid(), guid); |
+ } |
} |
return true; |