10 std::weak_ptr<DeviceHolderVK> device_holder,
11 std::weak_ptr<PipelineLibrary> library,
13 vk::UniquePipeline pipeline,
14 vk::UniquePipelineLayout layout,
15 vk::UniqueDescriptorSetLayout descriptor_set_layout)
17 device_holder_(
std::move(device_holder)),
18 pipeline_(
std::move(pipeline)),
20 descriptor_set_layout_(
std::move(descriptor_set_layout)) {
21 is_valid_ = pipeline_ && layout_ && descriptor_set_layout_;
25 std::shared_ptr<DeviceHolderVK> device_holder = device_holder_.lock();
27 descriptor_set_layout_.reset();
31 descriptor_set_layout_.release();
37bool ComputePipelineVK::IsValid()
const {
51 return *descriptor_set_layout_;
const vk::DescriptorSetLayout & GetDescriptorSetLayout() const
~ComputePipelineVK() override
ComputePipelineVK(std::weak_ptr< DeviceHolderVK > device_holder, std::weak_ptr< PipelineLibrary > library, const ComputePipelineDescriptor &desc, vk::UniquePipeline pipeline, vk::UniquePipelineLayout layout, vk::UniqueDescriptorSetLayout descriptor_set_layout)
const vk::Pipeline & GetPipeline() const
const vk::PipelineLayout & GetPipelineLayout() const
Describes the fixed function and programmable aspects of rendering and compute operations performed b...