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 "ui/gfx/surface/accelerated_surface_win.h" | 5 #include "ui/gfx/surface/accelerated_surface_win.h" |
6 | 6 |
7 #include <d3d9.h> | 7 #include <d3d9.h> |
8 #include <windows.h> | 8 #include <windows.h> |
9 | 9 |
10 #include <list> | 10 #include <list> |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 base::AtomicRefCountInc(&num_pending_resizes_); | 180 base::AtomicRefCountInc(&num_pending_resizes_); |
181 | 181 |
182 g_present_thread_pool.Pointer()->PostTask( | 182 g_present_thread_pool.Pointer()->PostTask( |
183 thread_affinity_, | 183 thread_affinity_, |
184 FROM_HERE, | 184 FROM_HERE, |
185 base::Bind(&AcceleratedPresenter::DoResize, | 185 base::Bind(&AcceleratedPresenter::DoResize, |
186 base::Unretained(this), | 186 base::Unretained(this), |
187 quantized_size)); | 187 quantized_size)); |
188 } | 188 } |
189 | 189 |
190 // This might unnecessarily post to the thread with which the swap chain has | |
191 // affinity. This will only result in potentially delaying the present. | |
192 g_present_thread_pool.Pointer()->PostTask( | 190 g_present_thread_pool.Pointer()->PostTask( |
193 num_pending_resizes_ ? | 191 thread_affinity_, |
194 thread_affinity_ : g_present_thread_pool.Pointer()->NextThread(), | |
195 FROM_HERE, | 192 FROM_HERE, |
196 base::Bind(&AcceleratedPresenter::DoPresentAndAcknowledge, | 193 base::Bind(&AcceleratedPresenter::DoPresentAndAcknowledge, |
197 base::Unretained(this), | 194 base::Unretained(this), |
198 window, | 195 window, |
199 size, | 196 size, |
200 surface_id, | 197 surface_id, |
201 completion_task)); | 198 completion_task)); |
202 } | 199 } |
203 | 200 |
204 bool AcceleratedPresenter::Present(gfx::NativeWindow window) { | 201 bool AcceleratedPresenter::Present(gfx::NativeWindow window) { |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 const base::Closure& completion_task) { | 492 const base::Closure& completion_task) { |
496 presenter_->AsyncPresentAndAcknowledge(window, | 493 presenter_->AsyncPresentAndAcknowledge(window, |
497 size, | 494 size, |
498 surface_id, | 495 surface_id, |
499 completion_task); | 496 completion_task); |
500 } | 497 } |
501 | 498 |
502 bool AcceleratedSurface::Present(HWND window) { | 499 bool AcceleratedSurface::Present(HWND window) { |
503 return presenter_->Present(window); | 500 return presenter_->Present(window); |
504 } | 501 } |
OLD | NEW |