Chromium Code Reviews| Index: content/common/gpu/gpu_channel_manager.cc |
| diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc |
| index a073e20151edce4dc033a6d9e54bf3c0196b214a..e7852d1d5894ac218e3b777de3064b13d2e1ded9 100644 |
| --- a/content/common/gpu/gpu_channel_manager.cc |
| +++ b/content/common/gpu/gpu_channel_manager.cc |
| @@ -20,6 +20,10 @@ |
| #include "ipc/message_filter.h" |
| #include "ui/gl/gl_bindings.h" |
| #include "ui/gl/gl_share_group.h" |
| +#if defined(USE_OZONE) |
| +#include "ui/ozone/public/gpu_platform_support.h" |
| +#include "ui/ozone/public/ozone_platform.h" |
| +#endif |
| namespace content { |
| @@ -162,6 +166,7 @@ bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { |
| OnCreateViewCommandBuffer) |
| IPC_MESSAGE_HANDLER(GpuMsg_DestroyGpuMemoryBuffer, OnDestroyGpuMemoryBuffer) |
| IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader) |
| + IPC_MESSAGE_HANDLER(GpuMsg_RelinquishResources, OnRelinquishResources) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| return handled; |
| @@ -323,4 +328,23 @@ gfx::GLSurface* GpuChannelManager::GetDefaultOffscreenSurface() { |
| return default_offscreen_surface_.get(); |
| } |
| +void GpuChannelManager::OnRelinquishResources() { |
| + if (default_offscreen_surface_.get()) { |
| + default_offscreen_surface_->DestroyAndTerminateDisplay(); |
| + default_offscreen_surface_ = NULL; |
|
dcheng
2014/11/21 03:06:04
nullptr.
GusFernandez
2014/11/21 19:13:56
Done.
|
| + } |
| +#if defined(USE_OZONE) |
| + ui::OzonePlatform::GetInstance()->GetGpuPlatformSupport()-> |
|
dcheng
2014/11/21 03:06:04
Out of curiosity, did you use clang-format or not?
GusFernandez
2014/11/21 19:13:56
Clang-format does some bad things to this file suc
|
| + RelinquishGpuResources(base::Bind( |
| + &GpuChannelManager::OnResourcesRelinquished, |
| + weak_factory_.GetWeakPtr())); |
| +#else |
| + OnResourcesRelinquished(); |
| +#endif |
| +} |
| + |
| +void GpuChannelManager::OnResourcesRelinquished() { |
| + Send(new GpuHostMsg_ResourcesRelinquished()); |
| +} |
| + |
| } // namespace content |