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 "cc/test/test_web_graphics_context_3d.h" | 5 #include "cc/test/test_web_graphics_context_3d.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 max_texture_size_(2048), | 60 max_texture_size_(2048), |
61 reshape_called_(false), | 61 reshape_called_(false), |
62 width_(0), | 62 width_(0), |
63 height_(0), | 63 height_(0), |
64 scale_factor_(-1.f), | 64 scale_factor_(-1.f), |
65 test_support_(NULL), | 65 test_support_(NULL), |
66 last_update_type_(NoUpdate), | 66 last_update_type_(NoUpdate), |
67 next_insert_sync_point_(1), | 67 next_insert_sync_point_(1), |
68 last_waited_sync_point_(0), | 68 last_waited_sync_point_(0), |
69 bound_buffer_(0), | 69 bound_buffer_(0), |
70 peak_transfer_buffer_memory_used_bytes_(0), | |
71 weak_ptr_factory_(this) { | 70 weak_ptr_factory_(this) { |
72 CreateNamespace(); | 71 CreateNamespace(); |
73 } | 72 } |
74 | 73 |
75 TestWebGraphicsContext3D::~TestWebGraphicsContext3D() { | 74 TestWebGraphicsContext3D::~TestWebGraphicsContext3D() { |
76 base::AutoLock lock(g_shared_namespace_lock.Get()); | 75 base::AutoLock lock(g_shared_namespace_lock.Get()); |
77 namespace_ = NULL; | 76 namespace_ = NULL; |
78 } | 77 } |
79 | 78 |
80 void TestWebGraphicsContext3D::CreateNamespace() { | 79 void TestWebGraphicsContext3D::CreateNamespace() { |
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 Buffer* buffer = buffers.get(bound_buffer_); | 495 Buffer* buffer = buffers.get(bound_buffer_); |
497 if (context_lost_) { | 496 if (context_lost_) { |
498 buffer->pixels.reset(); | 497 buffer->pixels.reset(); |
499 return; | 498 return; |
500 } | 499 } |
501 | 500 |
502 buffer->pixels.reset(new uint8[size]); | 501 buffer->pixels.reset(new uint8[size]); |
503 buffer->size = size; | 502 buffer->size = size; |
504 if (data != NULL) | 503 if (data != NULL) |
505 memcpy(buffer->pixels.get(), data, size); | 504 memcpy(buffer->pixels.get(), data, size); |
506 | |
507 peak_transfer_buffer_memory_used_bytes_ = | |
508 std::max(peak_transfer_buffer_memory_used_bytes_, | |
509 GetTransferBufferMemoryUsedBytes()); | |
510 } | 505 } |
511 | 506 |
512 void* TestWebGraphicsContext3D::mapBufferCHROMIUM(GLenum target, | 507 void* TestWebGraphicsContext3D::mapBufferCHROMIUM(GLenum target, |
513 GLenum access) { | 508 GLenum access) { |
514 base::AutoLock lock(namespace_->lock); | 509 base::AutoLock lock(namespace_->lock); |
515 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers; | 510 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers; |
516 DCHECK_GT(buffers.count(bound_buffer_), 0u); | 511 DCHECK_GT(buffers.count(bound_buffer_), 0u); |
517 DCHECK_EQ(target, buffers.get(bound_buffer_)->target); | 512 DCHECK_EQ(target, buffers.get(bound_buffer_)->target); |
518 if (times_map_buffer_chromium_succeeds_ >= 0) { | 513 if (times_map_buffer_chromium_succeeds_ >= 0) { |
519 if (!times_map_buffer_chromium_succeeds_) { | 514 if (!times_map_buffer_chromium_succeeds_) { |
520 return NULL; | 515 return NULL; |
521 } | 516 } |
522 --times_map_buffer_chromium_succeeds_; | 517 --times_map_buffer_chromium_succeeds_; |
523 } | 518 } |
524 | 519 |
525 peak_transfer_buffer_memory_used_bytes_ = | |
526 std::max(peak_transfer_buffer_memory_used_bytes_, | |
527 GetTransferBufferMemoryUsedBytes()); | |
528 | |
529 return buffers.get(bound_buffer_)->pixels.get(); | 520 return buffers.get(bound_buffer_)->pixels.get(); |
530 } | 521 } |
531 | 522 |
532 GLboolean TestWebGraphicsContext3D::unmapBufferCHROMIUM( | 523 GLboolean TestWebGraphicsContext3D::unmapBufferCHROMIUM( |
533 GLenum target) { | 524 GLenum target) { |
534 base::AutoLock lock(namespace_->lock); | 525 base::AutoLock lock(namespace_->lock); |
535 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers; | 526 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers; |
536 DCHECK_GT(buffers.count(bound_buffer_), 0u); | 527 DCHECK_GT(buffers.count(bound_buffer_), 0u); |
537 DCHECK_EQ(target, buffers.get(bound_buffer_)->target); | 528 DCHECK_EQ(target, buffers.get(bound_buffer_)->target); |
538 buffers.get(bound_buffer_)->pixels.reset(); | 529 buffers.get(bound_buffer_)->pixels.reset(); |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
732 | 723 |
733 TestWebGraphicsContext3D::Buffer::Buffer() : target(0), size(0) {} | 724 TestWebGraphicsContext3D::Buffer::Buffer() : target(0), size(0) {} |
734 | 725 |
735 TestWebGraphicsContext3D::Buffer::~Buffer() {} | 726 TestWebGraphicsContext3D::Buffer::~Buffer() {} |
736 | 727 |
737 TestWebGraphicsContext3D::Image::Image() {} | 728 TestWebGraphicsContext3D::Image::Image() {} |
738 | 729 |
739 TestWebGraphicsContext3D::Image::~Image() {} | 730 TestWebGraphicsContext3D::Image::~Image() {} |
740 | 731 |
741 } // namespace cc | 732 } // namespace cc |
OLD | NEW |