| Flutter Impeller |

Public Member Functions | Friends | List of all members
impeller::ComputePipelineVK Class Referencefinal

`#include <compute_pipeline_vk.h>`

Inheritance diagram for impeller::ComputePipelineVK:

## Public Member Functions
| 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, PipelineKey pipeline_key)
| ~ComputePipelineVK () override
const vk::Pipeline & | GetPipeline () const
const vk::PipelineLayout & | GetPipelineLayout () const
const vk::DescriptorSetLayout & | GetDescriptorSetLayout () const
PipelineKey | GetPipelineKey () const
| Retrieve the unique identifier for this pipeline's descriptor set layout. More...
Public Member Functions inherited from impeller::Pipeline< ComputePipelineDescriptor >
virtual | ~Pipeline ()
const ComputePipelineDescriptor & | GetDescriptor () const
| Get the descriptor that was responsible for creating this pipeline. It may be copied and modified to create a pipeline variant. More...
PipelineFuture< ComputePipelineDescriptor > | CreateVariant (bool async, std::function< void(ComputePipelineDescriptor &desc)> descriptor_callback) const

## Friends
class | PipelineLibraryVK

## Additional Inherited Members
Static Public Member Functions inherited from impeller::BackendCast< ComputePipelineVK, Pipeline< ComputePipelineDescriptor > >
static ComputePipelineVK & | Cast (Pipeline< ComputePipelineDescriptor > &base)
static const ComputePipelineVK & | Cast (const Pipeline< ComputePipelineDescriptor > &base)
static ComputePipelineVK * | Cast (Pipeline< ComputePipelineDescriptor > *base)
static const ComputePipelineVK * | Cast (const Pipeline< ComputePipelineDescriptor > *base)
Protected Member Functions inherited from impeller::Pipeline< ComputePipelineDescriptor >
| Pipeline (std::weak_ptr< PipelineLibrary > library, ComputePipelineDescriptor desc)
Protected Attributes inherited from impeller::Pipeline< ComputePipelineDescriptor >
const std::weak_ptr< PipelineLibrary > | library_
const ComputePipelineDescriptor | desc_

## Detailed Description

Definition at line 17 of file compute_pipeline_vk.h.

## Constructor & Destructor Documentation

## ◆ ComputePipelineVK()

impeller::ComputePipelineVK::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,
|  | PipelineKey | pipeline_key
| ) |  |

Definition at line 9 of file compute_pipeline_vk.cc.

17 : Pipeline(std::move(library), desc),
18 device_holder_(std::move(device_holder)),
19 pipeline_(std::move(pipeline)),
20 layout_(std::move(layout)),
21 descriptor_set_layout_(std::move(descriptor_set_layout)),
22 pipeline_key_(pipeline_key) {
23 is_valid_ = pipeline_ && layout_ && descriptor_set_layout_;
24 }
impeller::Pipeline< ComputePipelineDescriptor >::Pipeline
Pipeline(std::weak_ptr< PipelineLibrary > library, ComputePipelineDescriptor desc)
Definition: pipeline.cc:18

## ◆ ~ComputePipelineVK()

impeller::ComputePipelineVK::~ComputePipelineVK | ( |  | ) |
| override

Definition at line 26 of file compute_pipeline_vk.cc.

26 {
27 std::shared_ptr<DeviceHolderVK> device_holder = device_holder_.lock();
28 if (device_holder) {
29 descriptor_set_layout_.reset();
30 layout_.reset();
31 pipeline_.reset();
32 } else {
33 descriptor_set_layout_.release();
34 layout_.release();
35 pipeline_.release();
36 }
37 }

## Member Function Documentation

## ◆ GetDescriptorSetLayout()

const vk::DescriptorSetLayout & impeller::ComputePipelineVK::GetDescriptorSetLayout | ( |  | ) | const

Definition at line 51 of file compute_pipeline_vk.cc.

52 {
53 return *descriptor_set_layout_;
54 }

## ◆ GetPipeline()

const vk::Pipeline & impeller::ComputePipelineVK::GetPipeline | ( |  | ) | const

Definition at line 43 of file compute_pipeline_vk.cc.

43 {
44 return *pipeline_;
45 }

## ◆ GetPipelineKey()

PipelineKey impeller::ComputePipelineVK::GetPipelineKey | ( |  | ) | const

Retrieve the unique identifier for this pipeline's descriptor set layout.

Definition at line 56 of file compute_pipeline_vk.cc.

56 {
57 return pipeline_key_;
58 }

## ◆ GetPipelineLayout()

const vk::PipelineLayout & impeller::ComputePipelineVK::GetPipelineLayout | ( |  | ) | const

Definition at line 47 of file compute_pipeline_vk.cc.

47 {
48 return *layout_;
49 }

## Friends And Related Function Documentation

## ◆ PipelineLibraryVK

friend class PipelineLibraryVK
| friend

Definition at line 44 of file compute_pipeline_vk.h.

The documentation for this class was generated from the following files:

- impeller/renderer/backend/vulkan/compute_pipeline_vk.h
- impeller/renderer/backend/vulkan/compute_pipeline_vk.cc