Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: cc/debug/test_web_graphics_context_3d.cc

Issue 22900018: cc: Set the mapped memory reclaim limit for the renderer compositor on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Set the limit in the unittest Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/debug/test_web_graphics_context_3d.h" 5 #include "cc/debug/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 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 } 474 }
475 475
476 void TestWebGraphicsContext3D::bufferData(WebKit::WGC3Denum target, 476 void TestWebGraphicsContext3D::bufferData(WebKit::WGC3Denum target,
477 WebKit::WGC3Dsizeiptr size, 477 WebKit::WGC3Dsizeiptr size,
478 const void* data, 478 const void* data,
479 WebKit::WGC3Denum usage) { 479 WebKit::WGC3Denum usage) {
480 base::AutoLock lock(namespace_->lock); 480 base::AutoLock lock(namespace_->lock);
481 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers; 481 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers;
482 DCHECK_GT(buffers.count(bound_buffer_), 0u); 482 DCHECK_GT(buffers.count(bound_buffer_), 0u);
483 DCHECK_EQ(target, buffers.get(bound_buffer_)->target); 483 DCHECK_EQ(target, buffers.get(bound_buffer_)->target);
484 Buffer* buffer = buffers.get(bound_buffer_);
484 if (context_lost_) { 485 if (context_lost_) {
485 buffers.get(bound_buffer_)->pixels.reset(); 486 buffer->pixels.reset();
486 return; 487 return;
487 } 488 }
488 buffers.get(bound_buffer_)->pixels.reset(new uint8[size]); 489
490 buffer->pixels.reset(new uint8[size]);
491 buffer->size = size;
489 if (data != NULL) 492 if (data != NULL)
490 memcpy(buffers.get(bound_buffer_)->pixels.get(), data, size); 493 memcpy(buffer->pixels.get(), data, size);
491 } 494 }
492 495
493 void* TestWebGraphicsContext3D::mapBufferCHROMIUM(WebKit::WGC3Denum target, 496 void* TestWebGraphicsContext3D::mapBufferCHROMIUM(WebKit::WGC3Denum target,
494 WebKit::WGC3Denum access) { 497 WebKit::WGC3Denum access) {
495 base::AutoLock lock(namespace_->lock); 498 base::AutoLock lock(namespace_->lock);
496 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers; 499 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers;
497 DCHECK_GT(buffers.count(bound_buffer_), 0u); 500 DCHECK_GT(buffers.count(bound_buffer_), 0u);
498 DCHECK_EQ(target, buffers.get(bound_buffer_)->target); 501 DCHECK_EQ(target, buffers.get(bound_buffer_)->target);
499 if (times_map_buffer_chromium_succeeds_ >= 0) { 502 if (times_map_buffer_chromium_succeeds_ >= 0) {
500 if (!times_map_buffer_chromium_succeeds_) { 503 if (!times_map_buffer_chromium_succeeds_) {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 } 596 }
594 597
595 WebKit::WGC3Duint TestWebGraphicsContext3D::NextImageId() { 598 WebKit::WGC3Duint TestWebGraphicsContext3D::NextImageId() {
596 base::AutoLock lock(namespace_->lock); 599 base::AutoLock lock(namespace_->lock);
597 WGC3Duint image_id = namespace_->next_image_id++; 600 WGC3Duint image_id = namespace_->next_image_id++;
598 DCHECK(image_id < (1 << 17)); 601 DCHECK(image_id < (1 << 17));
599 image_id |= context_id_ << 17; 602 image_id |= context_id_ << 17;
600 return image_id; 603 return image_id;
601 } 604 }
602 605
603 TestWebGraphicsContext3D::Buffer::Buffer() : target(0) {} 606 size_t TestWebGraphicsContext3D::transfer_buffer_memory_used_bytes() const {
607 size_t total_bytes = 0;
608 base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers;
609 base::ScopedPtrHashMap<unsigned, Buffer>::iterator itr = buffers.begin();
reveman 2013/09/09 16:40:47 nit: |it| or |iter| is more commonly used as varia
kaanb 2013/09/09 18:20:43 Done.
610 for (; itr != buffers.end(); ++itr) {
611 Buffer* buffer = itr->second;
612 if (buffer->target == GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM)
613 total_bytes += buffer->size;
614 }
615 return total_bytes;
616 }
617
618 void TestWebGraphicsContext3D::SetMaxTransferBufferUsageBytes(
619 size_t max_transfer_buffer_usage_bytes) {
620 test_capabilities_.max_transfer_buffer_usage_bytes =
621 max_transfer_buffer_usage_bytes;
622 }
623
624 TestWebGraphicsContext3D::Buffer::Buffer() : target(0), size(0) {}
604 625
605 TestWebGraphicsContext3D::Buffer::~Buffer() {} 626 TestWebGraphicsContext3D::Buffer::~Buffer() {}
606 627
607 TestWebGraphicsContext3D::Image::Image() {} 628 TestWebGraphicsContext3D::Image::Image() {}
608 629
609 TestWebGraphicsContext3D::Image::~Image() {} 630 TestWebGraphicsContext3D::Image::~Image() {}
610 631
611 } // namespace cc 632 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698