| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "content/renderer/gpu/command_buffer_proxy.h" | 5 #include "content/renderer/gpu/command_buffer_proxy.h" | 
| 6 | 6 | 
| 7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" | 
| 8 #include "base/logging.h" | 8 #include "base/logging.h" | 
| 9 #include "base/process_util.h" | 9 #include "base/process_util.h" | 
| 10 #include "base/shared_memory.h" | 10 #include "base/shared_memory.h" | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 87   task->Run(); | 87   task->Run(); | 
| 88 } | 88 } | 
| 89 | 89 | 
| 90 void CommandBufferProxy::SetChannelErrorCallback(Callback0::Type* callback) { | 90 void CommandBufferProxy::SetChannelErrorCallback(Callback0::Type* callback) { | 
| 91   channel_error_callback_.reset(callback); | 91   channel_error_callback_.reset(callback); | 
| 92 } | 92 } | 
| 93 | 93 | 
| 94 bool CommandBufferProxy::Initialize(int32 size) { | 94 bool CommandBufferProxy::Initialize(int32 size) { | 
| 95   DCHECK(!ring_buffer_.get()); | 95   DCHECK(!ring_buffer_.get()); | 
| 96 | 96 | 
| 97   RenderThread* render_thread = RenderThread::current(); | 97   ChildThread* child_thread = ChildThread::current(); | 
| 98   if (!render_thread) | 98   if (!child_thread) | 
| 99     return false; | 99     return false; | 
| 100 | 100 | 
| 101   base::SharedMemoryHandle handle; | 101   base::SharedMemoryHandle handle; | 
| 102   if (!render_thread->Send(new ViewHostMsg_AllocateSharedMemoryBuffer( | 102   if (!child_thread->Send(new ViewHostMsg_AllocateSharedMemoryBuffer( | 
| 103       size, | 103       size, | 
| 104       &handle))) { | 104       &handle))) { | 
| 105     return false; | 105     return false; | 
| 106   } | 106   } | 
| 107 | 107 | 
| 108   if (!base::SharedMemory::IsHandleValid(handle)) | 108   if (!base::SharedMemory::IsHandleValid(handle)) | 
| 109     return false; | 109     return false; | 
| 110 | 110 | 
| 111 #if defined(OS_POSIX) | 111 #if defined(OS_POSIX) | 
| 112   handle.auto_close = false; | 112   handle.auto_close = false; | 
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 209 | 209 | 
| 210 void CommandBufferProxy::SetGetOffset(int32 get_offset) { | 210 void CommandBufferProxy::SetGetOffset(int32 get_offset) { | 
| 211   // Not implemented in proxy. | 211   // Not implemented in proxy. | 
| 212   NOTREACHED(); | 212   NOTREACHED(); | 
| 213 } | 213 } | 
| 214 | 214 | 
| 215 int32 CommandBufferProxy::CreateTransferBuffer(size_t size, int32 id_request) { | 215 int32 CommandBufferProxy::CreateTransferBuffer(size_t size, int32 id_request) { | 
| 216   if (last_state_.error != gpu::error::kNoError) | 216   if (last_state_.error != gpu::error::kNoError) | 
| 217     return -1; | 217     return -1; | 
| 218 | 218 | 
| 219   RenderThread* render_thread = RenderThread::current(); | 219   ChildThread* child_thread = ChildThread::current(); | 
| 220   if (!render_thread) | 220   if (!child_thread) | 
| 221     return -1; | 221     return -1; | 
| 222 | 222 | 
| 223   base::SharedMemoryHandle handle; | 223   base::SharedMemoryHandle handle; | 
| 224   if (!render_thread->Send(new ViewHostMsg_AllocateSharedMemoryBuffer( | 224   if (!child_thread->Send(new ViewHostMsg_AllocateSharedMemoryBuffer( | 
| 225       size, | 225       size, | 
| 226       &handle))) { | 226       &handle))) { | 
| 227     return -1; | 227     return -1; | 
| 228   } | 228   } | 
| 229 | 229 | 
| 230   if (!base::SharedMemory::IsHandleValid(handle)) | 230   if (!base::SharedMemory::IsHandleValid(handle)) | 
| 231     return -1; | 231     return -1; | 
| 232 | 232 | 
| 233   // Handle is closed by the SharedMemory object below. This stops | 233   // Handle is closed by the SharedMemory object below. This stops | 
| 234   // base::FileDescriptor from closing it as well. | 234   // base::FileDescriptor from closing it as well. | 
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 442   delete msg; | 442   delete msg; | 
| 443   return false; | 443   return false; | 
| 444 } | 444 } | 
| 445 | 445 | 
| 446 void CommandBufferProxy::OnUpdateState(const gpu::CommandBuffer::State& state) { | 446 void CommandBufferProxy::OnUpdateState(const gpu::CommandBuffer::State& state) { | 
| 447   // Handle wraparound. It works as long as we don't have more than 2B state | 447   // Handle wraparound. It works as long as we don't have more than 2B state | 
| 448   // updates in flight across which reordering occurs. | 448   // updates in flight across which reordering occurs. | 
| 449   if (state.generation - last_state_.generation < 0x80000000U) | 449   if (state.generation - last_state_.generation < 0x80000000U) | 
| 450     last_state_ = state; | 450     last_state_ = state; | 
| 451 } | 451 } | 
| OLD | NEW | 
|---|