OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/sync_point_manager.h" | 5 #include "gpu/command_buffer/service/sync_point_manager.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 order_fence.client_state->EnsureReleased(order_fence.fence_release); | 128 order_fence.client_state->EnsureReleased(order_fence.fence_release); |
129 } | 129 } |
130 } | 130 } |
131 | 131 |
132 SyncPointOrderData::OrderFence::OrderFence( | 132 SyncPointOrderData::OrderFence::OrderFence( |
133 uint32_t order, | 133 uint32_t order, |
134 uint64_t release, | 134 uint64_t release, |
135 scoped_refptr<SyncPointClientState> state) | 135 scoped_refptr<SyncPointClientState> state) |
136 : order_num(order), fence_release(release), client_state(state) {} | 136 : order_num(order), fence_release(release), client_state(state) {} |
137 | 137 |
| 138 SyncPointOrderData::OrderFence::OrderFence(const OrderFence& other) = default; |
| 139 |
138 SyncPointOrderData::OrderFence::~OrderFence() {} | 140 SyncPointOrderData::OrderFence::~OrderFence() {} |
139 | 141 |
140 SyncPointOrderData::SyncPointOrderData() | 142 SyncPointOrderData::SyncPointOrderData() |
141 : current_order_num_(0), | 143 : current_order_num_(0), |
142 paused_(false), | 144 paused_(false), |
143 destroyed_(false), | 145 destroyed_(false), |
144 processed_order_num_(0), | 146 processed_order_num_(0), |
145 unprocessed_order_num_(0) {} | 147 unprocessed_order_num_(0) {} |
146 | 148 |
147 SyncPointOrderData::~SyncPointOrderData() {} | 149 SyncPointOrderData::~SyncPointOrderData() {} |
(...skipping 22 matching lines...) Expand all Loading... |
170 order_fence_queue_.push( | 172 order_fence_queue_.push( |
171 OrderFence(expected_order_num, fence_release, client_state)); | 173 OrderFence(expected_order_num, fence_release, client_state)); |
172 return true; | 174 return true; |
173 } | 175 } |
174 | 176 |
175 SyncPointClientState::ReleaseCallback::ReleaseCallback( | 177 SyncPointClientState::ReleaseCallback::ReleaseCallback( |
176 uint64_t release, | 178 uint64_t release, |
177 const base::Closure& callback) | 179 const base::Closure& callback) |
178 : release_count(release), callback_closure(callback) {} | 180 : release_count(release), callback_closure(callback) {} |
179 | 181 |
| 182 SyncPointClientState::ReleaseCallback::ReleaseCallback( |
| 183 const ReleaseCallback& other) = default; |
| 184 |
180 SyncPointClientState::ReleaseCallback::~ReleaseCallback() {} | 185 SyncPointClientState::ReleaseCallback::~ReleaseCallback() {} |
181 | 186 |
182 SyncPointClientState::SyncPointClientState( | 187 SyncPointClientState::SyncPointClientState( |
183 scoped_refptr<SyncPointOrderData> order_data) | 188 scoped_refptr<SyncPointOrderData> order_data) |
184 : order_data_(order_data), fence_sync_release_(0) {} | 189 : order_data_(order_data), fence_sync_release_(0) {} |
185 | 190 |
186 SyncPointClientState::~SyncPointClientState() { | 191 SyncPointClientState::~SyncPointClientState() { |
187 } | 192 } |
188 | 193 |
189 bool SyncPointClientState::WaitForRelease(uint32_t wait_order_num, | 194 bool SyncPointClientState::WaitForRelease(uint32_t wait_order_num, |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 DCHECK_LT(static_cast<size_t>(namespace_id), arraysize(client_maps_)); | 404 DCHECK_LT(static_cast<size_t>(namespace_id), arraysize(client_maps_)); |
400 | 405 |
401 base::AutoLock auto_lock(client_maps_lock_); | 406 base::AutoLock auto_lock(client_maps_lock_); |
402 ClientMap& client_map = client_maps_[namespace_id]; | 407 ClientMap& client_map = client_maps_[namespace_id]; |
403 ClientMap::iterator it = client_map.find(client_id); | 408 ClientMap::iterator it = client_map.find(client_id); |
404 DCHECK(it != client_map.end()); | 409 DCHECK(it != client_map.end()); |
405 client_map.erase(it); | 410 client_map.erase(it); |
406 } | 411 } |
407 | 412 |
408 } // namespace gpu | 413 } // namespace gpu |
OLD | NEW |