| Flutter Impeller |

Public Types | Public Member Functions | List of all members
impeller::ComputePipelineHandle< ComputeShader_ > Class Template Reference

`#include <pipeline.h>`

## Public Types
using | ComputeShader = ComputeShader_
using | Builder = ComputePipelineBuilder< ComputeShader >

## Public Member Functions
| ComputePipelineHandle (const Context &context)
| ComputePipelineHandle (const Context &context, std::optional< ComputePipelineDescriptor > compute_desc)
| ComputePipelineHandle (PipelineFuture< ComputePipelineDescriptor > future)
std::shared_ptr< Pipeline< ComputePipelineDescriptor > > | WaitAndGet ()

## Detailed Description

### template<class ComputeShader_>
class impeller::ComputePipelineHandle< ComputeShader_ >

Definition at line 148 of file pipeline.h.

## Member Typedef Documentation

## ◆ Builder

template<class ComputeShader_ >

using impeller::ComputePipelineHandle< ComputeShader_ >::Builder = ComputePipelineBuilder<ComputeShader>

Definition at line 151 of file pipeline.h.

## ◆ ComputeShader

template<class ComputeShader_ >

using impeller::ComputePipelineHandle< ComputeShader_ >::ComputeShader = ComputeShader_

Definition at line 150 of file pipeline.h.

## Constructor & Destructor Documentation

## ◆ ComputePipelineHandle() [1/3]

template<class ComputeShader_ >

impeller::ComputePipelineHandle< ComputeShader_ >::ComputePipelineHandle | ( | const Context & | context | ) |
| inlineexplicit

Definition at line 153 of file pipeline.h.

154 : ComputePipelineHandle(CreatePipelineFuture(
155 context,
156 Builder::MakeDefaultPipelineDescriptor(context))) {}

## ◆ ComputePipelineHandle() [2/3]

template<class ComputeShader_ >

impeller::ComputePipelineHandle< ComputeShader_ >::ComputePipelineHandle | ( | const Context & | context,
|  | std::optional< ComputePipelineDescriptor > | compute_desc
| ) |  |
| inlineexplicit

Definition at line 158 of file pipeline.h.

161 : ComputePipelineHandle(CreatePipelineFuture(context, compute_desc)) {}

## ◆ ComputePipelineHandle() [3/3]

template<class ComputeShader_ >

impeller::ComputePipelineHandle< ComputeShader_ >::ComputePipelineHandle | ( | PipelineFuture< ComputePipelineDescriptor > | future | ) |
| inlineexplicit

Definition at line 163 of file pipeline.h.

165 : pipeline_future_(std::move(future)) {}

## Member Function Documentation

## ◆ WaitAndGet()

template<class ComputeShader_ >

std::shared_ptr<Pipeline<ComputePipelineDescriptor> > impeller::ComputePipelineHandle< ComputeShader_ >::WaitAndGet | ( |  | ) |
| inline

Definition at line 167 of file pipeline.h.

167 {
168 if (did_wait_) {
169 return pipeline_;
170 }
171 did_wait_ = true;
172 if (pipeline_future_.IsValid()) {
173 pipeline_ = pipeline_future_.Get();
174 }
175 return pipeline_;
176 }

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

- impeller/renderer/pipeline.h

impeller::CreatePipelineFuture
PipelineFuture< PipelineDescriptor > CreatePipelineFuture(const Context &context, std::optional< PipelineDescriptor > desc)
Definition: pipeline.cc:24
impeller::ComputePipelineBuilder::MakeDefaultPipelineDescriptor
static std::optional< ComputePipelineDescriptor > MakeDefaultPipelineDescriptor(const Context &context)
Create a default pipeline descriptor using the combination reflected shader information....
Definition: compute_pipeline_builder.h:40
impeller::ComputePipelineHandle::ComputePipelineHandle
ComputePipelineHandle(const Context &context)
Definition: pipeline.h:153