| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "gpu/command_buffer/service/command_buffer_service.h" | 5 #include "gpu/command_buffer/service/command_buffer_service.h" |
| 6 | 6 |
| 7 using ::base::SharedMemory; | 7 using ::base::SharedMemory; |
| 8 | 8 |
| 9 namespace command_buffer { | 9 namespace command_buffer { |
| 10 | 10 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 put_offset_change_callback_.reset(callback); | 75 put_offset_change_callback_.reset(callback); |
| 76 } | 76 } |
| 77 | 77 |
| 78 int32 CommandBufferService::CreateTransferBuffer(size_t size) { | 78 int32 CommandBufferService::CreateTransferBuffer(size_t size) { |
| 79 linked_ptr<SharedMemory> buffer(new SharedMemory); | 79 linked_ptr<SharedMemory> buffer(new SharedMemory); |
| 80 if (!buffer->Create(std::wstring(), false, false, size)) | 80 if (!buffer->Create(std::wstring(), false, false, size)) |
| 81 return -1; | 81 return -1; |
| 82 | 82 |
| 83 if (unused_registered_object_elements_.empty()) { | 83 if (unused_registered_object_elements_.empty()) { |
| 84 // Check we haven't exceeded the range that fits in a 32-bit integer. | 84 // Check we haven't exceeded the range that fits in a 32-bit integer. |
| 85 int32 handle = static_cast<int32>(registered_objects_.size()); | 85 if (registered_objects_.size() > std::numeric_limits<uint32>::max()) |
| 86 if (handle != registered_objects_.size()) | |
| 87 return -1; | 86 return -1; |
| 88 | 87 |
| 88 int32 handle = static_cast<int32>(registered_objects_.size()); |
| 89 registered_objects_.push_back(buffer); | 89 registered_objects_.push_back(buffer); |
| 90 return handle; | 90 return handle; |
| 91 } | 91 } |
| 92 | 92 |
| 93 int32 handle = *unused_registered_object_elements_.begin(); | 93 int32 handle = *unused_registered_object_elements_.begin(); |
| 94 unused_registered_object_elements_.erase( | 94 unused_registered_object_elements_.erase( |
| 95 unused_registered_object_elements_.begin()); | 95 unused_registered_object_elements_.begin()); |
| 96 DCHECK(!registered_objects_[handle].get()); | 96 DCHECK(!registered_objects_[handle].get()); |
| 97 registered_objects_[handle] = buffer; | 97 registered_objects_[handle] = buffer; |
| 98 return handle; | 98 return handle; |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 | 150 |
| 151 bool CommandBufferService::GetErrorStatus() { | 151 bool CommandBufferService::GetErrorStatus() { |
| 152 return error_status_; | 152 return error_status_; |
| 153 } | 153 } |
| 154 | 154 |
| 155 void CommandBufferService::RaiseErrorStatus() { | 155 void CommandBufferService::RaiseErrorStatus() { |
| 156 error_status_ = true; | 156 error_status_ = true; |
| 157 } | 157 } |
| 158 | 158 |
| 159 } // namespace command_buffer | 159 } // namespace command_buffer |
| OLD | NEW |