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

Side by Side Diff: cc/output/overlay_strategy_sandwich.h

Issue 1452943002: cc: Fix overlay damage tracking bug (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add buffer queue update Created 5 years, 1 month 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 | « cc/output/overlay_processor.cc ('k') | cc/output/overlay_strategy_sandwich.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #ifndef CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_ 5 #ifndef CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_
6 #define CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_ 6 #define CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_
7 7
8 #include "cc/output/overlay_processor.h" 8 #include "cc/output/overlay_processor.h"
9 9
10 namespace cc { 10 namespace cc {
11 11
12 class OverlayCandidateValidator; 12 class OverlayCandidateValidator;
13 13
14 // The sandwich strategy looks for a video quad without regard to quads above 14 // The sandwich strategy looks for a video quad without regard to quads above
15 // it. The video is "overlaid" on top of the scene, and then the non-empty 15 // it. The video is "overlaid" on top of the scene, and then the non-empty
16 // parts of the scene are "overlaid" on top of the video. This is only valid 16 // parts of the scene are "overlaid" on top of the video. This is only valid
17 // for overlay contents that are fully opaque. 17 // for overlay contents that are fully opaque.
18 class CC_EXPORT OverlayStrategySandwich : public OverlayProcessor::Strategy { 18 class CC_EXPORT OverlayStrategySandwich : public OverlayProcessor::Strategy {
19 public: 19 public:
20 explicit OverlayStrategySandwich( 20 explicit OverlayStrategySandwich(
21 OverlayCandidateValidator* capability_checker); 21 OverlayCandidateValidator* capability_checker);
22 ~OverlayStrategySandwich() override; 22 ~OverlayStrategySandwich() override;
23 23
24 bool Attempt(ResourceProvider* resource_provider, 24 bool Attempt(ResourceProvider* resource_provider,
25 RenderPassList* render_passes, 25 RenderPassList* render_passes,
26 OverlayCandidateList* candidate_list, 26 OverlayCandidateList* candidate_list) override;
27 gfx::Rect* damage_rect) override;
28 27
29 private: 28 private:
30 QuadList::Iterator TryOverlay(RenderPass* render_pass, 29 QuadList::Iterator TryOverlay(RenderPass* render_pass,
31 OverlayCandidateList* candidate_list, 30 OverlayCandidateList* candidate_list,
32 const OverlayCandidate& candidate, 31 const OverlayCandidate& candidate,
33 QuadList::Iterator candidate_iterator); 32 QuadList::Iterator candidate_iterator);
34 33
35 OverlayCandidateValidator* capability_checker_; // Weak. 34 OverlayCandidateValidator* capability_checker_; // Weak.
36 35
37 DISALLOW_COPY_AND_ASSIGN(OverlayStrategySandwich); 36 DISALLOW_COPY_AND_ASSIGN(OverlayStrategySandwich);
38 }; 37 };
39 38
40 } // namespace cc 39 } // namespace cc
41 40
42 #endif // CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_ 41 #endif // CC_OUTPUT_OVERLAY_STRATEGY_SANDWICH_H_
OLDNEW
« no previous file with comments | « cc/output/overlay_processor.cc ('k') | cc/output/overlay_strategy_sandwich.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698