blob: 8b767860679e34c989265c6e661ed823c9ab44da [file] [log] [blame]
// 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/backend/vulkan/pipeline_vk.h"
namespace impeller {
PipelineCreateInfoVK::PipelineCreateInfoVK(vk::UniquePipeline pipeline,
vk::UniqueRenderPass render_pass)
: pipeline_(std::move(pipeline)), render_pass_(std::move(render_pass)) {
is_valid_ = pipeline_ && render_pass_;
}
bool PipelineCreateInfoVK::IsValid() const {
return is_valid_;
}
vk::UniquePipeline PipelineCreateInfoVK::GetPipeline() {
return std::move(pipeline_);
}
vk::UniqueRenderPass PipelineCreateInfoVK::GetRenderPass() {
return std::move(render_pass_);
}
PipelineVK::PipelineVK(std::weak_ptr<PipelineLibrary> library,
PipelineDescriptor desc,
std::unique_ptr<PipelineCreateInfoVK> create_info)
: Pipeline(std::move(library), std::move(desc)),
pipeline_info_(std::move(create_info)) {}
PipelineVK::~PipelineVK() = default;
bool PipelineVK::IsValid() const {
return pipeline_info_->IsValid();
}
} // namespace impeller