Flutter Impeller
impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ > Class Template Reference

#include <pipeline.h>

Inheritance diagram for impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >:
impeller::GenericRenderPipelineHandle

Public Types

using VertexShader = VertexShader_
 
using FragmentShader = FragmentShader_
 
using Builder = PipelineBuilder< VertexShader, FragmentShader >
 

Public Member Functions

 RenderPipelineHandle (const Context &context, bool async=true)
 
 RenderPipelineHandle (const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
 
 RenderPipelineHandle (PipelineFuture< PipelineDescriptor > future)
 
- Public Member Functions inherited from impeller::GenericRenderPipelineHandle
 GenericRenderPipelineHandle (const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
 
 GenericRenderPipelineHandle (PipelineFuture< PipelineDescriptor > future)
 
virtual ~GenericRenderPipelineHandle ()=default
 
std::shared_ptr< Pipeline< PipelineDescriptor > > WaitAndGet ()
 
std::optional< PipelineDescriptorGetDescriptor () const
 

Detailed Description

template<class VertexShader_, class FragmentShader_>
class impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >

Holds a reference to a Pipeline used for rendering while also maintaining the vertex shader and fragment shader types at compile-time.

See also:

  • impeller::ContentContext::Variants - the typical container for RenderPipelineHandles.

Definition at line 161 of file pipeline.h.

Member Typedef Documentation

◆ Builder

template<class VertexShader_ , class FragmentShader_ >
using impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >::Builder = PipelineBuilder<VertexShader, FragmentShader>

Definition at line 165 of file pipeline.h.

◆ FragmentShader

template<class VertexShader_ , class FragmentShader_ >
using impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >::FragmentShader = FragmentShader_

Definition at line 164 of file pipeline.h.

◆ VertexShader

template<class VertexShader_ , class FragmentShader_ >
using impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >::VertexShader = VertexShader_

Definition at line 163 of file pipeline.h.

Constructor & Destructor Documentation

◆ RenderPipelineHandle() [1/3]

template<class VertexShader_ , class FragmentShader_ >
impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >::RenderPipelineHandle ( const Context context,
bool  async = true 
)
inlineexplicit

Definition at line 167 of file pipeline.h.

169  context,
171  async)) {}
GenericRenderPipelineHandle(const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
Definition: pipeline.h:116
PipelineFuture< PipelineDescriptor > CreatePipelineFuture(const Context &context, std::optional< PipelineDescriptor > desc, bool async)
Create a pipeline for the given descriptor.
Definition: pipeline.cc:24
static std::optional< PipelineDescriptor > MakeDefaultPipelineDescriptor(const Context &context, const std::vector< Scalar > &constants={})
Create a default pipeline descriptor using the combination reflected shader information....

◆ RenderPipelineHandle() [2/3]

template<class VertexShader_ , class FragmentShader_ >
impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >::RenderPipelineHandle ( const Context context,
std::optional< PipelineDescriptor desc,
bool  async = true 
)
inlineexplicit

Definition at line 173 of file pipeline.h.

176  : GenericRenderPipelineHandle(context, desc, async) {}

◆ RenderPipelineHandle() [3/3]

template<class VertexShader_ , class FragmentShader_ >
impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >::RenderPipelineHandle ( PipelineFuture< PipelineDescriptor future)
inlineexplicit

Definition at line 178 of file pipeline.h.

179  : GenericRenderPipelineHandle(std::move(future)) {}

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