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 "content/common/gpu/texture_image_transport_surface.h" | 5 #include "content/common/gpu/texture_image_transport_surface.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 front_ = back(); | 422 front_ = back(); |
423 previous_damage_rect_ = gfx::Rect(0, 0, 0, 0); | 423 previous_damage_rect_ = gfx::Rect(0, 0, 0, 0); |
424 } | 424 } |
425 | 425 |
426 did_flip_ = presented; | 426 did_flip_ = presented; |
427 | 427 |
428 // We're relying on the fact that the parent context is | 428 // We're relying on the fact that the parent context is |
429 // finished with it's context when it inserts the sync point that | 429 // finished with it's context when it inserts the sync point that |
430 // triggers this callback. | 430 // triggers this callback. |
431 if (helper_->MakeCurrent()) { | 431 if (helper_->MakeCurrent()) { |
432 if (textures_[front()].size != textures_[back()].size || | 432 if ((presented && textures_[front()].size != textures_[back()].size) || |
433 !textures_[back()].info->service_id() || | 433 !textures_[back()].info->service_id() || |
434 !textures_[back()].sent_to_client) { | 434 !textures_[back()].sent_to_client) { |
435 // We may get an ACK from a stale swap just to reschedule. In that case, | 435 // We may get an ACK from a stale swap just to reschedule. In that case, |
436 // we may not have a backbuffer suggestion and should not recreate one. | 436 // we may not have a backbuffer suggestion and should not recreate one. |
437 if (backbuffer_suggested_allocation_) | 437 if (backbuffer_suggested_allocation_) |
438 CreateBackTexture(textures_[front()].size); | 438 CreateBackTexture(textures_[front()].size); |
439 } else { | 439 } else { |
440 AttachBackTextureToFBO(); | 440 AttachBackTextureToFBO(); |
441 } | 441 } |
442 } | 442 } |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 if (!texture.sent_to_client) | 562 if (!texture.sent_to_client) |
563 continue; | 563 continue; |
564 GpuHostMsg_AcceleratedSurfaceRelease_Params params; | 564 GpuHostMsg_AcceleratedSurfaceRelease_Params params; |
565 params.identifier = texture.client_id; | 565 params.identifier = texture.client_id; |
566 helper_->SendAcceleratedSurfaceRelease(params); | 566 helper_->SendAcceleratedSurfaceRelease(params); |
567 } | 567 } |
568 parent_stub_ = NULL; | 568 parent_stub_ = NULL; |
569 } | 569 } |
570 | 570 |
571 } // namespace content | 571 } // namespace content |
OLD | NEW |