Index: gpu/command_buffer/service/buffer_manager.cc |
diff --git a/gpu/command_buffer/service/buffer_manager.cc b/gpu/command_buffer/service/buffer_manager.cc |
index 4469af8f2edde71928f86ee080007303eda04c91..b37285e688ae84c464c00af38ce8c20ed4b19294 100644 |
--- a/gpu/command_buffer/service/buffer_manager.cc |
+++ b/gpu/command_buffer/service/buffer_manager.cc |
@@ -737,10 +737,13 @@ bool BufferManager::OnMemoryDump(const base::trace_event::MemoryDumpArgs& args, |
MemoryAllocatorDump::kUnitsBytes, |
static_cast<uint64_t>(buffer->size())); |
- auto guid = gl::GetGLBufferGUIDForTracing(share_group_tracing_guid, |
- client_buffer_id); |
- pmd->CreateSharedGlobalAllocatorDump(guid); |
- pmd->AddOwnershipEdge(dump->guid(), guid); |
+ auto* mapped_range = buffer->GetMappedRange(); |
+ if (mapped_range && mapped_range->shm->backing()->is_shared()) { |
+ auto guid = gl::GetGLBufferGUIDForTracing(share_group_tracing_guid, |
+ client_buffer_id); |
+ pmd->CreateSharedGlobalAllocatorDump(guid); |
+ pmd->AddOwnershipEdge(dump->guid(), guid); |
+ } |
} |
return true; |