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

Side by Side Diff: cc/raster/tile_task_runner.cc

Issue 1890903002: cc: Simplify Task and its derived classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_tile_task_runner
Patch Set: feedback Created 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/raster/tile_task_runner.h" 5 #include "cc/raster/tile_task_runner.h"
6 #include "cc/resources/platform_color.h" 6 #include "cc/resources/platform_color.h"
7 7
8 namespace cc { 8 namespace cc {
9 9
10 TileTask::TileTask() : did_schedule_(false), did_complete_(false) { 10 TileTask::TileTask(bool supports_concurrent_execution)
11 } 11 : supports_concurrent_execution_(supports_concurrent_execution),
12 did_schedule_(false),
13 did_complete_(false) {}
14
15 TileTask::TileTask(bool supports_concurrent_execution,
16 TileTask::Vector* dependencies)
17 : supports_concurrent_execution_(supports_concurrent_execution),
18 dependencies_(std::move(*dependencies)),
19 did_schedule_(false),
20 did_complete_(false) {}
12 21
13 TileTask::~TileTask() { 22 TileTask::~TileTask() {
14 DCHECK(!did_schedule_); 23 DCHECK(!did_schedule_);
15 DCHECK(!did_run_ || did_complete_); 24 DCHECK(!did_run_ || did_complete_);
16 } 25 }
17 26
27 bool TileTask::SupportsConcurrentExecution() const {
28 return supports_concurrent_execution_;
29 }
30
18 void TileTask::WillSchedule() { 31 void TileTask::WillSchedule() {
19 DCHECK(!did_schedule_); 32 DCHECK(!did_schedule_);
20 } 33 }
21 34
22 void TileTask::DidSchedule() { 35 void TileTask::DidSchedule() {
23 did_schedule_ = true; 36 did_schedule_ = true;
24 did_complete_ = false; 37 did_complete_ = false;
25 } 38 }
26 39
27 bool TileTask::HasBeenScheduled() const { 40 bool TileTask::HasBeenScheduled() const {
28 return did_schedule_; 41 return did_schedule_;
29 } 42 }
30 43
31 void TileTask::WillComplete() { 44 void TileTask::WillComplete() {
32 DCHECK(!did_complete_); 45 DCHECK(!did_complete_);
33 } 46 }
34 47
35 void TileTask::DidComplete() { 48 void TileTask::DidComplete() {
36 DCHECK(did_schedule_); 49 DCHECK(did_schedule_);
37 DCHECK(!did_complete_); 50 DCHECK(!did_complete_);
38 did_schedule_ = false; 51 did_schedule_ = false;
39 did_complete_ = true; 52 did_complete_ = true;
40 } 53 }
41 54
42 bool TileTask::HasCompleted() const { 55 bool TileTask::HasCompleted() const {
43 return did_complete_; 56 return did_complete_;
44 } 57 }
45 58
46 ImageDecodeTask::ImageDecodeTask() {
47 }
48
49 ImageDecodeTask::ImageDecodeTask(scoped_refptr<ImageDecodeTask> dependency)
50 : dependency_(std::move(dependency)) {}
51
52 ImageDecodeTask::~ImageDecodeTask() {
53 }
54
55 bool ImageDecodeTask::SupportsConcurrentExecution() const {
56 return true;
57 }
58
59 RasterTask::RasterTask(ImageDecodeTask::Vector* dependencies) {
60 dependencies_.swap(*dependencies);
61 }
62
63 RasterTask::~RasterTask() {
64 }
65
66 bool TileTaskRunner::ResourceFormatRequiresSwizzle(ResourceFormat format) { 59 bool TileTaskRunner::ResourceFormatRequiresSwizzle(ResourceFormat format) {
67 switch (format) { 60 switch (format) {
68 case RGBA_8888: 61 case RGBA_8888:
69 case BGRA_8888: 62 case BGRA_8888:
70 // Initialize resource using the preferred PlatformColor component 63 // Initialize resource using the preferred PlatformColor component
71 // order and swizzle in the shader instead of in software. 64 // order and swizzle in the shader instead of in software.
72 return !PlatformColor::SameComponentOrder(format); 65 return !PlatformColor::SameComponentOrder(format);
73 case RGBA_4444: 66 case RGBA_4444:
74 case ETC1: 67 case ETC1:
75 case ALPHA_8: 68 case ALPHA_8:
76 case LUMINANCE_8: 69 case LUMINANCE_8:
77 case RGB_565: 70 case RGB_565:
78 case RED_8: 71 case RED_8:
79 case LUMINANCE_F16: 72 case LUMINANCE_F16:
80 return false; 73 return false;
81 } 74 }
82 NOTREACHED(); 75 NOTREACHED();
83 return false; 76 return false;
84 } 77 }
85 78
86 } // namespace cc 79 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698