OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/android/synchronous_compositor_output_surface.h" | 5 #include "content/renderer/android/synchronous_compositor_output_surface.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 if (did_swap_) { | 334 if (did_swap_) { |
335 // This must happen after unwinding the stack and leaving the compositor. | 335 // This must happen after unwinding the stack and leaving the compositor. |
336 // Usually it is a separate task but we just defer it until OnDraw completes | 336 // Usually it is a separate task but we just defer it until OnDraw completes |
337 // instead. | 337 // instead. |
338 client_->DidSwapBuffersComplete(); | 338 client_->DidSwapBuffersComplete(); |
339 } | 339 } |
340 } | 340 } |
341 | 341 |
342 void SynchronousCompositorOutputSurface::OnReclaimResources( | 342 void SynchronousCompositorOutputSurface::OnReclaimResources( |
343 uint32_t output_surface_id, | 343 uint32_t output_surface_id, |
344 const cc::CompositorFrameAck& ack) { | 344 const cc::ReturnedResourceArray& resources) { |
345 // Ignore message if it's a stale one coming from a different output surface | 345 // Ignore message if it's a stale one coming from a different output surface |
346 // (e.g. after a lost context). | 346 // (e.g. after a lost context). |
347 if (output_surface_id != output_surface_id_) | 347 if (output_surface_id != output_surface_id_) |
348 return; | 348 return; |
349 ReclaimResources(&ack); | 349 ReclaimResources(resources); |
350 } | 350 } |
351 | 351 |
352 void SynchronousCompositorOutputSurface::SetMemoryPolicy(size_t bytes_limit) { | 352 void SynchronousCompositorOutputSurface::SetMemoryPolicy(size_t bytes_limit) { |
353 DCHECK(CalledOnValidThread()); | 353 DCHECK(CalledOnValidThread()); |
354 bool became_zero = memory_policy_.bytes_limit_when_visible && !bytes_limit; | 354 bool became_zero = memory_policy_.bytes_limit_when_visible && !bytes_limit; |
355 bool became_non_zero = | 355 bool became_non_zero = |
356 !memory_policy_.bytes_limit_when_visible && bytes_limit; | 356 !memory_policy_.bytes_limit_when_visible && bytes_limit; |
357 memory_policy_.bytes_limit_when_visible = bytes_limit; | 357 memory_policy_.bytes_limit_when_visible = bytes_limit; |
358 memory_policy_.num_resources_limit = kNumResourcesLimit; | 358 memory_policy_.num_resources_limit = kNumResourcesLimit; |
359 | 359 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 return sender_->Send(message); | 393 return sender_->Send(message); |
394 } | 394 } |
395 | 395 |
396 bool SynchronousCompositorOutputSurface::CalledOnValidThread() const { | 396 bool SynchronousCompositorOutputSurface::CalledOnValidThread() const { |
397 return thread_checker_.CalledOnValidThread(); | 397 return thread_checker_.CalledOnValidThread(); |
398 } | 398 } |
399 | 399 |
400 void SynchronousCompositorOutputSurface::ReturnResources( | 400 void SynchronousCompositorOutputSurface::ReturnResources( |
401 const cc::ReturnedResourceArray& resources) { | 401 const cc::ReturnedResourceArray& resources) { |
402 DCHECK(resources.empty()); | 402 DCHECK(resources.empty()); |
403 cc::CompositorFrameAck ack; | 403 client_->ReclaimResources(resources); |
404 client_->ReclaimResources(&ack); | |
405 } | 404 } |
406 | 405 |
407 void SynchronousCompositorOutputSurface::SetBeginFrameSource( | 406 void SynchronousCompositorOutputSurface::SetBeginFrameSource( |
408 cc::BeginFrameSource* begin_frame_source) { | 407 cc::BeginFrameSource* begin_frame_source) { |
409 // Software output is synchronous and doesn't use a BeginFrameSource. | 408 // Software output is synchronous and doesn't use a BeginFrameSource. |
410 NOTREACHED(); | 409 NOTREACHED(); |
411 } | 410 } |
412 | 411 |
413 } // namespace content | 412 } // namespace content |
OLD | NEW |