| Flutter Impeller |

Public Member Functions | List of all members
impeller::GenericRenderPipelineHandle Class Reference

`#include <pipeline.h>`

Inheritance diagram for impeller::GenericRenderPipelineHandle:

## Public Member Functions
| GenericRenderPipelineHandle (const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
| GenericRenderPipelineHandle (PipelineFuture< PipelineDescriptor > future)
virtual | ~GenericRenderPipelineHandle ()=default
std::shared_ptr< Pipeline< PipelineDescriptor > > | WaitAndGet (PipelineCompileQueue *queue)
std::optional< PipelineDescriptor > | GetDescriptor () const

## Detailed Description

Holds a reference to a Pipeline used for rendering.

See also
  RenderPipelineHandle the templated subclass that stores compile-time shader information.

Definition at line 115 of file pipeline.h.

## Constructor & Destructor Documentation

## ◆ GenericRenderPipelineHandle() [1/2]

impeller::GenericRenderPipelineHandle::GenericRenderPipelineHandle | ( | const Context & | context,
|  | std::optional< PipelineDescriptor > | desc,
|  | bool | async = `true`
| ) |  |
| inline explicit

Definition at line 117 of file pipeline.h.

120 : GenericRenderPipelineHandle(
121 CreatePipelineFuture(context, std::move(desc), /*async=*/async)) {}
impeller::GenericRenderPipelineHandle::GenericRenderPipelineHandle
GenericRenderPipelineHandle(const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
Definition: pipeline.h:117
impeller::CreatePipelineFuture
PipelineFuture< PipelineDescriptor > CreatePipelineFuture(const Context &context, std::optional< PipelineDescriptor > desc, bool async)
Create a pipeline for the given descriptor.
Definition: pipeline.cc:24

## ◆ GenericRenderPipelineHandle() [2/2]

impeller::GenericRenderPipelineHandle::GenericRenderPipelineHandle | ( | PipelineFuture< PipelineDescriptor > | future | ) |
| inline explicit

Definition at line 123 of file pipeline.h.

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

## ◆ ~GenericRenderPipelineHandle()

virtual impeller::GenericRenderPipelineHandle::~GenericRenderPipelineHandle | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ GetDescriptor()

std::optional<PipelineDescriptor> impeller::GenericRenderPipelineHandle::GetDescriptor | ( |  | ) | const
| inline

Definition at line 144 of file pipeline.h.

144 {
145 return pipeline_future_.descriptor;
146 }

## ◆ WaitAndGet()

std::shared_ptr<Pipeline<PipelineDescriptor> > impeller::GenericRenderPipelineHandle::WaitAndGet | ( | PipelineCompileQueue * | queue | ) |
| inline

Definition at line 129 of file pipeline.h.

130 {
131 if (did_wait_) {
132 return pipeline_;
133 }
134 did_wait_ = true;
135 if (pipeline_future_.IsValid()) {
136 if (queue != nullptr && pipeline_future_.descriptor.has_value()) {
137 queue->PerformJobEagerly(pipeline_future_.descriptor.value());
138 }
139 pipeline_ = pipeline_future_.Get();
140 }
141 return pipeline_;
142 }

References impeller::PipelineCompileQueue::PerformJobEagerly().

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

- impeller/renderer/pipeline.h