| // Copyright 2013 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "impeller/renderer/pipeline_library.h" | |
| namespace impeller { | |
| PipelineLibrary::PipelineLibrary() = default; | |
| PipelineLibrary::~PipelineLibrary() = default; | |
| PipelineFuture<PipelineDescriptor> PipelineLibrary::GetPipeline( | |
| std::optional<PipelineDescriptor> descriptor) { | |
| if (descriptor.has_value()) { | |
| return GetPipeline(descriptor.value()); | |
| } | |
| auto promise = std::make_shared< | |
| std::promise<std::shared_ptr<Pipeline<PipelineDescriptor>>>>(); | |
| promise->set_value(nullptr); | |
| return {descriptor, promise->get_future()}; | |
| } | |
| PipelineFuture<ComputePipelineDescriptor> PipelineLibrary::GetPipeline( | |
| std::optional<ComputePipelineDescriptor> descriptor) { | |
| if (descriptor.has_value()) { | |
| return GetPipeline(descriptor.value()); | |
| } | |
| auto promise = std::make_shared< | |
| std::promise<std::shared_ptr<Pipeline<ComputePipelineDescriptor>>>>(); | |
| promise->set_value(nullptr); | |
| return {descriptor, promise->get_future()}; | |
| } | |
| } // namespace impeller |