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

Side by Side Diff: cc/output/gl_renderer.cc

Issue 2726263003: cc::ResourcePool - Re-use larger resources for smaller requests (Closed)
Patch Set: rebase Created 3 years, 7 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 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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/output/gl_renderer.h" 5 #include "cc/output/gl_renderer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 3434 matching lines...) Expand 10 before | Expand all | Expand 10 after
3445 gl_->DeleteFramebuffers(1, &temp_fbo); 3445 gl_->DeleteFramebuffers(1, &temp_fbo);
3446 } 3446 }
3447 3447
3448 void GLRenderer::ScheduleRenderPassDrawQuad( 3448 void GLRenderer::ScheduleRenderPassDrawQuad(
3449 const CALayerOverlay* ca_layer_overlay) { 3449 const CALayerOverlay* ca_layer_overlay) {
3450 DCHECK(ca_layer_overlay->rpdq); 3450 DCHECK(ca_layer_overlay->rpdq);
3451 3451
3452 if (!overlay_resource_pool_) { 3452 if (!overlay_resource_pool_) {
3453 overlay_resource_pool_ = ResourcePool::CreateForGpuMemoryBufferResources( 3453 overlay_resource_pool_ = ResourcePool::CreateForGpuMemoryBufferResources(
3454 resource_provider_, base::ThreadTaskRunnerHandle::Get().get(), 3454 resource_provider_, base::ThreadTaskRunnerHandle::Get().get(),
3455 gfx::BufferUsage::SCANOUT, base::TimeDelta::FromSeconds(3)); 3455 gfx::BufferUsage::SCANOUT, base::TimeDelta::FromSeconds(3),
3456 settings_->disallow_non_exact_resource_reuse);
3456 } 3457 }
3457 3458
3458 Resource* resource = nullptr; 3459 Resource* resource = nullptr;
3459 gfx::RectF new_bounds; 3460 gfx::RectF new_bounds;
3460 CopyRenderPassDrawQuadToOverlayResource(ca_layer_overlay, &resource, 3461 CopyRenderPassDrawQuadToOverlayResource(ca_layer_overlay, &resource,
3461 &new_bounds); 3462 &new_bounds);
3462 if (!resource || !resource->id()) 3463 if (!resource || !resource->id())
3463 return; 3464 return;
3464 3465
3465 pending_overlay_resources_.push_back( 3466 pending_overlay_resources_.push_back(
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
3603 return; 3604 return;
3604 3605
3605 // Report GPU overdraw as a percentage of |max_result|. 3606 // Report GPU overdraw as a percentage of |max_result|.
3606 TRACE_COUNTER1( 3607 TRACE_COUNTER1(
3607 TRACE_DISABLED_BY_DEFAULT("cc.debug.overdraw"), "GPU Overdraw", 3608 TRACE_DISABLED_BY_DEFAULT("cc.debug.overdraw"), "GPU Overdraw",
3608 (std::accumulate(overdraw->begin(), overdraw->end(), 0) * 100) / 3609 (std::accumulate(overdraw->begin(), overdraw->end(), 0) * 100) /
3609 max_result); 3610 max_result);
3610 } 3611 }
3611 3612
3612 } // namespace cc 3613 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698