Jonathan Backer | ea00a401 | 2019-08-07 22:25:12 | [diff] [blame] | 1 | // Copyright 2019 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "components/viz/service/display/external_use_client.h" |
Hans Wennborg | df87046c | 2020-04-28 11:06:24 | [diff] [blame] | 6 | #include "base/check.h" |
| 7 | #include "base/notreached.h" |
Jonathan Backer | ea00a401 | 2019-08-07 22:25:12 | [diff] [blame] | 8 | |
| 9 | namespace viz { |
| 10 | |
| 11 | ExternalUseClient::ImageContext::ImageContext( |
| 12 | const gpu::MailboxHolder& mailbox_holder, |
| 13 | const gfx::Size& size, |
| 14 | ResourceFormat resource_format, |
Anton Bikineev | 1156b5f | 2021-05-15 22:35:36 | [diff] [blame^] | 15 | const absl::optional<gpu::VulkanYCbCrInfo>& ycbcr_info, |
Jonathan Backer | ea00a401 | 2019-08-07 22:25:12 | [diff] [blame] | 16 | sk_sp<SkColorSpace> color_space) |
| 17 | : mailbox_holder_(mailbox_holder), |
| 18 | size_(size), |
| 19 | resource_format_(resource_format), |
Sergey Ulanov | 54d1c18d | 2019-09-27 21:15:57 | [diff] [blame] | 20 | color_space_(std::move(color_space)), |
| 21 | ycbcr_info_(ycbcr_info) {} |
Jonathan Backer | ea00a401 | 2019-08-07 22:25:12 | [diff] [blame] | 22 | |
| 23 | ExternalUseClient::ImageContext::~ImageContext() = default; |
| 24 | |
Jonathan Backer | 2814d32 | 2019-10-17 15:27:39 | [diff] [blame] | 25 | void ExternalUseClient::ImageContext::OnContextLost() { |
| 26 | NOTREACHED(); |
| 27 | } |
| 28 | |
Vasiliy Telezhnikov | 4a2f873b | 2019-08-29 18:49:50 | [diff] [blame] | 29 | void ExternalUseClient::ImageContext::SetImage(sk_sp<SkImage> image, |
| 30 | GrBackendFormat backend_format) { |
| 31 | DCHECK(!image_); |
| 32 | image_ = std::move(image); |
| 33 | backend_format_ = backend_format; |
| 34 | } |
| 35 | |
Jonathan Backer | ea00a401 | 2019-08-07 22:25:12 | [diff] [blame] | 36 | } // namespace viz |