18 std::optional<PipelineDescriptor> descriptor,
20 if (descriptor.has_value()) {
23 auto promise = std::make_shared<
24 std::promise<std::shared_ptr<Pipeline<PipelineDescriptor>>>>();
25 promise->set_value(
nullptr);
26 return {descriptor, promise->get_future()};
30 std::optional<ComputePipelineDescriptor> descriptor,
32 if (descriptor.has_value()) {
35 auto promise = std::make_shared<
36 std::promise<std::shared_ptr<Pipeline<ComputePipelineDescriptor>>>>();
37 promise->set_value(
nullptr);
38 return {descriptor, promise->get_future()};