| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/tiles/gpu_image_decode_controller.h" | 5 #include "cc/tiles/gpu_image_decode_controller.h" |
| 6 | 6 |
| 7 #include "base/memory/discardable_memory_allocator.h" | 7 #include "base/memory/discardable_memory_allocator.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/numerics/safe_math.h" | 9 #include "base/numerics/safe_math.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 public: | 100 public: |
| 101 ImageUploadTaskImpl(GpuImageDecodeController* controller, | 101 ImageUploadTaskImpl(GpuImageDecodeController* controller, |
| 102 const DrawImage& draw_image, | 102 const DrawImage& draw_image, |
| 103 scoped_refptr<TileTask> decode_dependency, | 103 scoped_refptr<TileTask> decode_dependency, |
| 104 uint64_t source_prepare_tiles_id) | 104 uint64_t source_prepare_tiles_id) |
| 105 : TileTask(false), | 105 : TileTask(false), |
| 106 controller_(controller), | 106 controller_(controller), |
| 107 image_(draw_image), | 107 image_(draw_image), |
| 108 source_prepare_tiles_id_(source_prepare_tiles_id) { | 108 source_prepare_tiles_id_(source_prepare_tiles_id) { |
| 109 DCHECK(!SkipImage(draw_image)); | 109 DCHECK(!SkipImage(draw_image)); |
| 110 dependencies_.push_back(std::move(decode_dependency)); | 110 // If an image is already decoded and locked, we will not generate a |
| 111 // decode task. |
| 112 if (decode_dependency) |
| 113 dependencies_.push_back(std::move(decode_dependency)); |
| 111 } | 114 } |
| 112 | 115 |
| 113 // Override from Task: | 116 // Override from Task: |
| 114 void RunOnWorkerThread() override { | 117 void RunOnWorkerThread() override { |
| 115 TRACE_EVENT2("cc", "ImageUploadTaskImpl::RunOnWorkerThread", "mode", "gpu", | 118 TRACE_EVENT2("cc", "ImageUploadTaskImpl::RunOnWorkerThread", "mode", "gpu", |
| 116 "source_prepare_tiles_id", source_prepare_tiles_id_); | 119 "source_prepare_tiles_id", source_prepare_tiles_id_); |
| 117 controller_->UploadImage(image_); | 120 controller_->UploadImage(image_); |
| 118 } | 121 } |
| 119 | 122 |
| 120 void ScheduleOnOriginThread(RasterBufferProvider* provider) override {} | 123 void ScheduleOnOriginThread(RasterBufferProvider* provider) override {} |
| (...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 734 } | 737 } |
| 735 | 738 |
| 736 SkImageInfo GpuImageDecodeController::CreateImageInfoForDrawImage( | 739 SkImageInfo GpuImageDecodeController::CreateImageInfoForDrawImage( |
| 737 const DrawImage& draw_image) const { | 740 const DrawImage& draw_image) const { |
| 738 return SkImageInfo::Make( | 741 return SkImageInfo::Make( |
| 739 draw_image.image()->width(), draw_image.image()->height(), | 742 draw_image.image()->width(), draw_image.image()->height(), |
| 740 ResourceFormatToClosestSkColorType(format_), kPremul_SkAlphaType); | 743 ResourceFormatToClosestSkColorType(format_), kPremul_SkAlphaType); |
| 741 } | 744 } |
| 742 | 745 |
| 743 } // namespace cc | 746 } // namespace cc |
| OLD | NEW |