| OLD | NEW |
| 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() : did_schedule_(false), did_complete_(false) {} |
| 11 } | 11 |
| 12 TileTask::TileTask(TileTask::Vector* dependencies) |
| 13 : dependencies_(std::move(*dependencies)), |
| 14 did_schedule_(false), |
| 15 did_complete_(false) {} |
| 12 | 16 |
| 13 TileTask::~TileTask() { | 17 TileTask::~TileTask() { |
| 14 DCHECK(!did_schedule_); | 18 DCHECK(!did_schedule_); |
| 15 DCHECK(!did_run_ || did_complete_); | 19 DCHECK(!did_run_ || did_complete_); |
| 16 } | 20 } |
| 17 | 21 |
| 22 bool TileTask::SupportsConcurrentExecution() const { |
| 23 return true; |
| 24 } |
| 25 |
| 18 void TileTask::WillSchedule() { | 26 void TileTask::WillSchedule() { |
| 19 DCHECK(!did_schedule_); | 27 DCHECK(!did_schedule_); |
| 20 } | 28 } |
| 21 | 29 |
| 22 void TileTask::DidSchedule() { | 30 void TileTask::DidSchedule() { |
| 23 did_schedule_ = true; | 31 did_schedule_ = true; |
| 24 did_complete_ = false; | 32 did_complete_ = false; |
| 25 } | 33 } |
| 26 | 34 |
| 27 bool TileTask::HasBeenScheduled() const { | 35 bool TileTask::HasBeenScheduled() const { |
| 28 return did_schedule_; | 36 return did_schedule_; |
| 29 } | 37 } |
| 30 | 38 |
| 31 void TileTask::WillComplete() { | 39 void TileTask::WillComplete() { |
| 32 DCHECK(!did_complete_); | 40 DCHECK(!did_complete_); |
| 33 } | 41 } |
| 34 | 42 |
| 35 void TileTask::DidComplete() { | 43 void TileTask::DidComplete() { |
| 36 DCHECK(did_schedule_); | 44 DCHECK(did_schedule_); |
| 37 DCHECK(!did_complete_); | 45 DCHECK(!did_complete_); |
| 38 did_schedule_ = false; | 46 did_schedule_ = false; |
| 39 did_complete_ = true; | 47 did_complete_ = true; |
| 40 } | 48 } |
| 41 | 49 |
| 42 bool TileTask::HasCompleted() const { | 50 bool TileTask::HasCompleted() const { |
| 43 return did_complete_; | 51 return did_complete_; |
| 44 } | 52 } |
| 45 | 53 |
| 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) { | 54 bool TileTaskRunner::ResourceFormatRequiresSwizzle(ResourceFormat format) { |
| 67 switch (format) { | 55 switch (format) { |
| 68 case RGBA_8888: | 56 case RGBA_8888: |
| 69 case BGRA_8888: | 57 case BGRA_8888: |
| 70 // Initialize resource using the preferred PlatformColor component | 58 // Initialize resource using the preferred PlatformColor component |
| 71 // order and swizzle in the shader instead of in software. | 59 // order and swizzle in the shader instead of in software. |
| 72 return !PlatformColor::SameComponentOrder(format); | 60 return !PlatformColor::SameComponentOrder(format); |
| 73 case RGBA_4444: | 61 case RGBA_4444: |
| 74 case ETC1: | 62 case ETC1: |
| 75 case ALPHA_8: | 63 case ALPHA_8: |
| 76 case LUMINANCE_8: | 64 case LUMINANCE_8: |
| 77 case RGB_565: | 65 case RGB_565: |
| 78 case RED_8: | 66 case RED_8: |
| 79 case LUMINANCE_F16: | 67 case LUMINANCE_F16: |
| 80 return false; | 68 return false; |
| 81 } | 69 } |
| 82 NOTREACHED(); | 70 NOTREACHED(); |
| 83 return false; | 71 return false; |
| 84 } | 72 } |
| 85 | 73 |
| 86 } // namespace cc | 74 } // namespace cc |
| OLD | NEW |