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 188 of file pipeline.h.

Member Typedef Documentation

◆ Builder

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

Definition at line 191 of file pipeline.h.

◆ ComputeShader

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

Definition at line 190 of file pipeline.h.

Constructor & Destructor Documentation

◆ ComputePipelineHandle() [1/3]

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

Definition at line 193 of file pipeline.h.

195  context,
ComputePipelineHandle(const Context &context)
Definition: pipeline.h:193
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 198 of file pipeline.h.

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

◆ ComputePipelineHandle() [3/3]

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

Definition at line 203 of file pipeline.h.

205  : 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 207 of file pipeline.h.

207  {
208  if (did_wait_) {
209  return pipeline_;
210  }
211  did_wait_ = true;
212  if (pipeline_future_.IsValid()) {
213  pipeline_ = pipeline_future_.Get();
214  }
215  return pipeline_;
216  }

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