| Flutter Impeller |

Public Types | Public Member Functions | List of all members
impeller::RenderPipelineT< VertexShader_, FragmentShader_ > Class Template Reference

`#include <pipeline.h>`

## Public Types
using | VertexShader = VertexShader_
using | FragmentShader = FragmentShader_
using | Builder = PipelineBuilder< VertexShader, FragmentShader >

## Public Member Functions
| RenderPipelineT (const Context &context)
| RenderPipelineT (const Context &context, std::optional< PipelineDescriptor > desc)
| RenderPipelineT (PipelineFuture< PipelineDescriptor > future)
std::shared_ptr< Pipeline< PipelineDescriptor > > | WaitAndGet ()
std::optional< PipelineDescriptor > | GetDescriptor () const

## Detailed Description

### template<class VertexShader_, class FragmentShader_>
class impeller::RenderPipelineT< VertexShader_, FragmentShader_ >

Definition at line 90 of file pipeline.h.

## Member Typedef Documentation

## ◆ Builder

template<class VertexShader_ , class FragmentShader_ >

using impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::Builder = PipelineBuilder<VertexShader, FragmentShader>

Definition at line 94 of file pipeline.h.

## ◆ FragmentShader

template<class VertexShader_ , class FragmentShader_ >

using impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::FragmentShader = FragmentShader_

Definition at line 93 of file pipeline.h.

## ◆ VertexShader

template<class VertexShader_ , class FragmentShader_ >

using impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::VertexShader = VertexShader_

Definition at line 92 of file pipeline.h.

## Constructor & Destructor Documentation

## ◆ RenderPipelineT() [1/3]

template<class VertexShader_ , class FragmentShader_ >

impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::RenderPipelineT | ( | const Context & | context | ) |
| inline explicit

Definition at line 96 of file pipeline.h.

97 : RenderPipelineT(CreatePipelineFuture(
98 context,
99 Builder::MakeDefaultPipelineDescriptor(context))) {}

## ◆ RenderPipelineT() [2/3]

template<class VertexShader_ , class FragmentShader_ >

impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::RenderPipelineT | ( | const Context & | context,
|  | std::optional< PipelineDescriptor > | desc
| ) |  |
| inline explicit

Definition at line 101 of file pipeline.h.

103 : RenderPipelineT(CreatePipelineFuture(context, desc)) {}

## ◆ RenderPipelineT() [3/3]

template<class VertexShader_ , class FragmentShader_ >

impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::RenderPipelineT | ( | PipelineFuture< PipelineDescriptor > | future | ) |
| inline explicit

Definition at line 105 of file pipeline.h.

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

## Member Function Documentation

## ◆ GetDescriptor()

template<class VertexShader_ , class FragmentShader_ >

std::optional<PipelineDescriptor> impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::GetDescriptor | ( |  | ) | const
| inline

Definition at line 119 of file pipeline.h.

119 {
120 return pipeline_future_.descriptor;
121 }

## ◆ WaitAndGet()

template<class VertexShader_ , class FragmentShader_ >

std::shared_ptr<Pipeline<PipelineDescriptor> > impeller::RenderPipelineT< VertexShader_, FragmentShader_ >::WaitAndGet | ( |  | ) |
| inline

Definition at line 108 of file pipeline.h.

108 {
109 if (did_wait_) {
110 return pipeline_;
111 }
112 did_wait_ = true;
113 if (pipeline_future_.IsValid()) {
114 pipeline_ = pipeline_future_.Get();
115 }
116 return pipeline_;
117 }

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

- impeller/renderer/pipeline.h

impeller::RenderPipelineT::RenderPipelineT
RenderPipelineT(const Context &context)
Definition: pipeline.h:96
impeller::CreatePipelineFuture
PipelineFuture< PipelineDescriptor > CreatePipelineFuture(const Context &context, std::optional< PipelineDescriptor > desc)
Definition: pipeline.cc:24
impeller::PipelineBuilder::MakeDefaultPipelineDescriptor
static std::optional< PipelineDescriptor > MakeDefaultPipelineDescriptor(const Context &context, const std::vector< Scalar > &constants={})
Create a default pipeline descriptor using the combination reflected shader information....
Definition: pipeline_builder.h:51