Flutter Impeller
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 164 of file pipeline.h.

Member Typedef Documentation

◆ Builder

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

Definition at line 167 of file pipeline.h.

◆ ComputeShader

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

Definition at line 166 of file pipeline.h.

Constructor & Destructor Documentation

◆ ComputePipelineHandle() [1/3]

template<class ComputeShader_ >
impeller::ComputePipelineHandle< ComputeShader_ >::ComputePipelineHandle ( const Context context)
inlineexplicit

Definition at line 169 of file pipeline.h.

171  context,
ComputePipelineHandle(const Context &context)
Definition: pipeline.h:169
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< ComputePipelineDescriptor > MakeDefaultPipelineDescriptor(const Context &context)
Create a default pipeline descriptor using the combination reflected shader information....

◆ ComputePipelineHandle() [2/3]

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

Definition at line 174 of file pipeline.h.

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

◆ ComputePipelineHandle() [3/3]

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

Definition at line 179 of file pipeline.h.

181  : 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 183 of file pipeline.h.

183  {
184  if (did_wait_) {
185  return pipeline_;
186  }
187  did_wait_ = true;
188  if (pipeline_future_.IsValid()) {
189  pipeline_ = pipeline_future_.Get();
190  }
191  return pipeline_;
192  }

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