summaryrefslogtreecommitdiffstats
path: root/cc/debug
diff options
context:
space:
mode:
authorkaanb@chromium.org <kaanb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-10 00:51:01 +0000
committerkaanb@chromium.org <kaanb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-10 00:51:01 +0000
commitb6eb8e33fe3016bfe3de118e4d7c2cad0aa4621b (patch)
treeb0933c62e22bb7992c663cff38491e62c5877c1b /cc/debug
parentb203d39dc0c292f09e6c359a8b3831bceb0941b6 (diff)
downloadchromium_src-b6eb8e33fe3016bfe3de118e4d7c2cad0aa4621b.zip
chromium_src-b6eb8e33fe3016bfe3de118e4d7c2cad0aa4621b.tar.gz
chromium_src-b6eb8e33fe3016bfe3de118e4d7c2cad0aa4621b.tar.bz2
Sets the mapped memory reclaim limit for the renderer compositor on Android. Also moves the max_bytes_pending_upload limit of the PixelBufferRasterWorkerPool to the RenderWidgetCompositor since the mapped memory reclaim limit depends on it.
BUG=272591 Review URL: https://chromiumcodereview.appspot.com/22900018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222158 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/debug')
-rw-r--r--cc/debug/test_context_provider.cc5
-rw-r--r--cc/debug/test_context_provider.h2
-rw-r--r--cc/debug/test_web_graphics_context_3d.cc29
-rw-r--r--cc/debug/test_web_graphics_context_3d.h4
4 files changed, 36 insertions, 4 deletions
diff --git a/cc/debug/test_context_provider.cc b/cc/debug/test_context_provider.cc
index 0d6fc01..d09ecd86 100644
--- a/cc/debug/test_context_provider.cc
+++ b/cc/debug/test_context_provider.cc
@@ -232,4 +232,9 @@ void TestContextProvider::SetMemoryPolicyChangedCallback(
memory_policy_changed_callback_ = cb;
}
+void TestContextProvider::SetMaxTransferBufferUsageBytes(
+ size_t max_transfer_buffer_usage_bytes) {
+ context3d_->SetMaxTransferBufferUsageBytes(max_transfer_buffer_usage_bytes);
+}
+
} // namespace cc
diff --git a/cc/debug/test_context_provider.h b/cc/debug/test_context_provider.h
index 0be90af..0401fcf 100644
--- a/cc/debug/test_context_provider.h
+++ b/cc/debug/test_context_provider.h
@@ -52,6 +52,8 @@ class CC_EXPORT TestContextProvider
void SetMemoryAllocation(const ManagedMemoryPolicy& policy,
bool discard_backbuffer_when_not_visible);
+ void SetMaxTransferBufferUsageBytes(size_t max_transfer_buffer_usage_bytes);
+
protected:
TestContextProvider();
virtual ~TestContextProvider();
diff --git a/cc/debug/test_web_graphics_context_3d.cc b/cc/debug/test_web_graphics_context_3d.cc
index 04027ae..634778f 100644
--- a/cc/debug/test_web_graphics_context_3d.cc
+++ b/cc/debug/test_web_graphics_context_3d.cc
@@ -481,13 +481,16 @@ void TestWebGraphicsContext3D::bufferData(WebKit::WGC3Denum target,
base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers;
DCHECK_GT(buffers.count(bound_buffer_), 0u);
DCHECK_EQ(target, buffers.get(bound_buffer_)->target);
+ Buffer* buffer = buffers.get(bound_buffer_);
if (context_lost_) {
- buffers.get(bound_buffer_)->pixels.reset();
+ buffer->pixels.reset();
return;
}
- buffers.get(bound_buffer_)->pixels.reset(new uint8[size]);
+
+ buffer->pixels.reset(new uint8[size]);
+ buffer->size = size;
if (data != NULL)
- memcpy(buffers.get(bound_buffer_)->pixels.get(), data, size);
+ memcpy(buffer->pixels.get(), data, size);
}
void* TestWebGraphicsContext3D::mapBufferCHROMIUM(WebKit::WGC3Denum target,
@@ -600,7 +603,25 @@ WebKit::WGC3Duint TestWebGraphicsContext3D::NextImageId() {
return image_id;
}
-TestWebGraphicsContext3D::Buffer::Buffer() : target(0) {}
+size_t TestWebGraphicsContext3D::GetTransferBufferMemoryUsedBytes() const {
+ size_t total_bytes = 0;
+ base::ScopedPtrHashMap<unsigned, Buffer>& buffers = namespace_->buffers;
+ base::ScopedPtrHashMap<unsigned, Buffer>::iterator it = buffers.begin();
+ for (; it != buffers.end(); ++it) {
+ Buffer* buffer = it->second;
+ if (buffer->target == GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM)
+ total_bytes += buffer->size;
+ }
+ return total_bytes;
+}
+
+void TestWebGraphicsContext3D::SetMaxTransferBufferUsageBytes(
+ size_t max_transfer_buffer_usage_bytes) {
+ test_capabilities_.max_transfer_buffer_usage_bytes =
+ max_transfer_buffer_usage_bytes;
+}
+
+TestWebGraphicsContext3D::Buffer::Buffer() : target(0), size(0) {}
TestWebGraphicsContext3D::Buffer::~Buffer() {}
diff --git a/cc/debug/test_web_graphics_context_3d.h b/cc/debug/test_web_graphics_context_3d.h
index 3dfc7ed..3cc7073 100644
--- a/cc/debug/test_web_graphics_context_3d.h
+++ b/cc/debug/test_web_graphics_context_3d.h
@@ -205,6 +205,9 @@ class CC_EXPORT TestWebGraphicsContext3D : public FakeWebGraphicsContext3D {
virtual WebKit::WebGLId NextImageId();
+ size_t GetTransferBufferMemoryUsedBytes() const;
+ void SetMaxTransferBufferUsageBytes(size_t max_transfer_buffer_usage_bytes);
+
protected:
struct Buffer {
Buffer();
@@ -212,6 +215,7 @@ class CC_EXPORT TestWebGraphicsContext3D : public FakeWebGraphicsContext3D {
WebKit::WGC3Denum target;
scoped_ptr<uint8[]> pixels;
+ size_t size;
private:
DISALLOW_COPY_AND_ASSIGN(Buffer);