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

Side by Side Diff: cc/layers/delegated_renderer_layer_impl.cc

Issue 1096703006: cc: Some more cleanup and removing TODOs for validating resources. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
« no previous file with comments | « no previous file | cc/layers/heads_up_display_layer_impl.cc » ('j') | cc/layers/layer_impl.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "cc/layers/delegated_renderer_layer_impl.h" 5 #include "cc/layers/delegated_renderer_layer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 force_anti_aliasing_off); 401 force_anti_aliasing_off);
402 402
403 SolidColorDrawQuad* right_quad = 403 SolidColorDrawQuad* right_quad =
404 render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 404 render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
405 right_quad->SetNew(shared_quad_state, right, right, 405 right_quad->SetNew(shared_quad_state, right, right,
406 colors[i % kNumColors], force_anti_aliasing_off); 406 colors[i % kNumColors], force_anti_aliasing_off);
407 } 407 }
408 } 408 }
409 } 409 }
410 410
411 // TODO(danakj): crbug.com/455931
412 static ResourceProvider::ResourceId ValidateResource(
413 ResourceProvider* provider,
414 ResourceProvider::ResourceId id) {
415 provider->ValidateResource(id);
416 return id;
417 }
418
419 void DelegatedRendererLayerImpl::AppendRenderPassQuads( 411 void DelegatedRendererLayerImpl::AppendRenderPassQuads(
420 RenderPass* render_pass, 412 RenderPass* render_pass,
421 const RenderPass* delegated_render_pass, 413 const RenderPass* delegated_render_pass,
422 const gfx::Size& frame_size) const { 414 const gfx::Size& frame_size) const {
423 const SharedQuadState* delegated_shared_quad_state = nullptr; 415 const SharedQuadState* delegated_shared_quad_state = nullptr;
424 SharedQuadState* output_shared_quad_state = nullptr; 416 SharedQuadState* output_shared_quad_state = nullptr;
425 417
426 gfx::Transform delegated_frame_to_target_transform = draw_transform(); 418 gfx::Transform delegated_frame_to_target_transform = draw_transform();
427 delegated_frame_to_target_transform.Scale(inverse_device_scale_factor_, 419 delegated_frame_to_target_transform.Scale(inverse_device_scale_factor_,
428 inverse_device_scale_factor_); 420 inverse_device_scale_factor_);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 occlusion_in_quad_space.GetUnoccludedContentRect( 472 occlusion_in_quad_space.GetUnoccludedContentRect(
481 delegated_quad->visible_rect); 473 delegated_quad->visible_rect);
482 474
483 if (quad_visible_rect.IsEmpty()) 475 if (quad_visible_rect.IsEmpty())
484 continue; 476 continue;
485 477
486 if (delegated_quad->material != DrawQuad::RENDER_PASS) { 478 if (delegated_quad->material != DrawQuad::RENDER_PASS) {
487 DrawQuad* output_quad = render_pass->CopyFromAndAppendDrawQuad( 479 DrawQuad* output_quad = render_pass->CopyFromAndAppendDrawQuad(
488 delegated_quad, output_shared_quad_state); 480 delegated_quad, output_shared_quad_state);
489 output_quad->visible_rect = quad_visible_rect; 481 output_quad->visible_rect = quad_visible_rect;
490 // TODO(danakj): crbug.com/455931 482 ValidateQuadResources(output_quad);
491 output_quad->IterateResources(base::Bind(
492 &ValidateResource, layer_tree_impl()->resource_provider()));
493 } else { 483 } else {
494 RenderPassId delegated_contributing_render_pass_id = 484 RenderPassId delegated_contributing_render_pass_id =
495 RenderPassDrawQuad::MaterialCast(delegated_quad)->render_pass_id; 485 RenderPassDrawQuad::MaterialCast(delegated_quad)->render_pass_id;
496 RenderPassId output_contributing_render_pass_id(-1, -1); 486 RenderPassId output_contributing_render_pass_id(-1, -1);
497 487
498 bool present = 488 bool present =
499 ConvertDelegatedRenderPassId(delegated_contributing_render_pass_id, 489 ConvertDelegatedRenderPassId(delegated_contributing_render_pass_id,
500 &output_contributing_render_pass_id); 490 &output_contributing_render_pass_id);
501 // |present| being false means the child compositor sent an invalid frame. 491 // |present| being false means the child compositor sent an invalid frame.
502 DCHECK(present); 492 DCHECK(present);
503 DCHECK(output_contributing_render_pass_id != render_pass->id); 493 DCHECK(output_contributing_render_pass_id != render_pass->id);
504 494
505 RenderPassDrawQuad* output_quad = 495 RenderPassDrawQuad* output_quad =
506 render_pass->CopyFromAndAppendRenderPassDrawQuad( 496 render_pass->CopyFromAndAppendRenderPassDrawQuad(
507 RenderPassDrawQuad::MaterialCast(delegated_quad), 497 RenderPassDrawQuad::MaterialCast(delegated_quad),
508 output_shared_quad_state, output_contributing_render_pass_id); 498 output_shared_quad_state, output_contributing_render_pass_id);
509 output_quad->visible_rect = quad_visible_rect; 499 output_quad->visible_rect = quad_visible_rect;
510 // TODO(danakj): crbug.com/455931 500 ValidateQuadResources(output_quad);
511 output_quad->IterateResources(base::Bind(
512 &ValidateResource, layer_tree_impl()->resource_provider()));
513 } 501 }
514 } 502 }
515 } 503 }
516 504
517 const char* DelegatedRendererLayerImpl::LayerTypeAsString() const { 505 const char* DelegatedRendererLayerImpl::LayerTypeAsString() const {
518 return "cc::DelegatedRendererLayerImpl"; 506 return "cc::DelegatedRendererLayerImpl";
519 } 507 }
520 508
521 void DelegatedRendererLayerImpl::ClearChildId() { 509 void DelegatedRendererLayerImpl::ClearChildId() {
522 if (!child_id_) 510 if (!child_id_)
523 return; 511 return;
524 512
525 if (own_child_id_) { 513 if (own_child_id_) {
526 ResourceProvider* provider = layer_tree_impl()->resource_provider(); 514 ResourceProvider* provider = layer_tree_impl()->resource_provider();
527 provider->DestroyChild(child_id_); 515 provider->DestroyChild(child_id_);
528 } 516 }
529 517
530 resources_.clear(); 518 resources_.clear();
531 child_id_ = 0; 519 child_id_ = 0;
532 } 520 }
533 521
534 } // namespace cc 522 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/layers/heads_up_display_layer_impl.cc » ('j') | cc/layers/layer_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698