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

Member Typedef Documentation

◆ Builder

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

Definition at line 158 of file pipeline.h.

◆ ComputeShader

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

Definition at line 157 of file pipeline.h.

Constructor & Destructor Documentation

◆ ComputePipelineHandle() [1/3]

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

Definition at line 160 of file pipeline.h.

162  context,
ComputePipelineHandle(const Context &context)
Definition: pipeline.h:160
PipelineFuture< PipelineDescriptor > CreatePipelineFuture(const Context &context, std::optional< PipelineDescriptor > desc)
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 165 of file pipeline.h.

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

◆ ComputePipelineHandle() [3/3]

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

Definition at line 170 of file pipeline.h.

172  : 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 174 of file pipeline.h.

174  {
175  if (did_wait_) {
176  return pipeline_;
177  }
178  did_wait_ = true;
179  if (pipeline_future_.IsValid()) {
180  pipeline_ = pipeline_future_.Get();
181  }
182  return pipeline_;
183  }

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