10 std::weak_ptr<PipelineLibrary> library,
12 vk::UniquePipeline pipeline,
13 vk::UniqueRenderPass render_pass,
14 vk::UniquePipelineLayout layout,
15 vk::UniqueDescriptorSetLayout descriptor_set_layout)
17 device_holder_(
std::move(device_holder)),
18 pipeline_(
std::move(pipeline)),
19 render_pass_(
std::move(render_pass)),
20 layout_(
std::move(layout)),
21 descriptor_set_layout_(
std::move(descriptor_set_layout)) {
22 is_valid_ = pipeline_ && render_pass_ && layout_ && descriptor_set_layout_;
26 std::shared_ptr<DeviceHolder> device_holder = device_holder_.lock();
28 descriptor_set_layout_.reset();
33 descriptor_set_layout_.release();
35 render_pass_.release();
40 bool PipelineVK::IsValid()
const {
57 return *descriptor_set_layout_;