Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
flutter::gpu::RenderPipeline Class Reference

#include <render_pipeline.h>

Inheritance diagram for flutter::gpu::RenderPipeline:
flutter::RefCountedDartWrappable< RenderPipeline > fml::RefCountedThreadSafe< RenderPipeline > tonic::DartWrappable fml::internal::RefCountedThreadSafeBase

Public Member Functions

 RenderPipeline (fml::RefPtr< flutter::gpu::Shader > vertex_shader, fml::RefPtr< flutter::gpu::Shader > fragment_shader)
 
 ~RenderPipeline () override
 
void BindToPipelineDescriptor (impeller::ShaderLibrary &library, impeller::PipelineDescriptor &desc)
 
- Public Member Functions inherited from flutter::RefCountedDartWrappable< RenderPipeline >
virtual void RetainDartWrappableReference () const override
 
virtual void ReleaseDartWrappableReference () const override
 
- Public Member Functions inherited from fml::RefCountedThreadSafe< RenderPipeline >
void Release () const
 
- Public Member Functions inherited from fml::internal::RefCountedThreadSafeBase
void AddRef () const
 
bool HasOneRef () const
 
void AssertHasOneRef () const
 
- Public Member Functions inherited from tonic::DartWrappable
 DartWrappable ()
 
virtual const DartWrapperInfoGetDartWrapperInfo () const =0
 
virtual void RetainDartWrappableReference () const =0
 
virtual void ReleaseDartWrappableReference () const =0
 
Dart_Handle CreateDartWrapper (DartState *dart_state)
 
void AssociateWithDartWrapper (Dart_Handle wrappable)
 
void ClearDartWrapper ()
 
Dart_WeakPersistentHandle dart_wrapper () const
 

Additional Inherited Members

- Public Types inherited from tonic::DartWrappable
enum  DartNativeFields { kPeerIndex , kNumberOfNativeFields }
 
- Protected Member Functions inherited from fml::RefCountedThreadSafe< RenderPipeline >
 RefCountedThreadSafe ()
 
 ~RefCountedThreadSafe ()
 
- Protected Member Functions inherited from fml::internal::RefCountedThreadSafeBase
 RefCountedThreadSafeBase ()
 
 ~RefCountedThreadSafeBase ()
 
bool Release () const
 
void Adopt ()
 
- Protected Member Functions inherited from tonic::DartWrappable
virtual ~DartWrappable ()
 
- Static Protected Member Functions inherited from tonic::DartWrappable
static Dart_PersistentHandle GetTypeForWrapper (tonic::DartState *dart_state, const tonic::DartWrapperInfo &wrapper_info)
 

Detailed Description

Definition at line 17 of file render_pipeline.h.

Constructor & Destructor Documentation

◆ RenderPipeline()

flutter::gpu::RenderPipeline::RenderPipeline ( fml::RefPtr< flutter::gpu::Shader vertex_shader,
fml::RefPtr< flutter::gpu::Shader fragment_shader 
)

Definition at line 15 of file render_pipeline.cc.

18 : vertex_shader_(std::move(vertex_shader)),
19 fragment_shader_(std::move(fragment_shader)) {}

◆ ~RenderPipeline()

flutter::gpu::RenderPipeline::~RenderPipeline ( )
overridedefault

Member Function Documentation

◆ BindToPipelineDescriptor()

void flutter::gpu::RenderPipeline::BindToPipelineDescriptor ( impeller::ShaderLibrary library,
impeller::PipelineDescriptor desc 
)

Definition at line 21 of file render_pipeline.cc.

23 {
24 auto vertex_descriptor = vertex_shader_->CreateVertexDescriptor();
25 vertex_descriptor->RegisterDescriptorSetLayouts(
26 vertex_shader_->GetDescriptorSetLayouts().data(),
27 vertex_shader_->GetDescriptorSetLayouts().size());
28 vertex_descriptor->RegisterDescriptorSetLayouts(
29 fragment_shader_->GetDescriptorSetLayouts().data(),
30 fragment_shader_->GetDescriptorSetLayouts().size());
31 desc.SetVertexDescriptor(vertex_descriptor);
32
33 desc.AddStageEntrypoint(vertex_shader_->GetFunctionFromLibrary(library));
34 desc.AddStageEntrypoint(fragment_shader_->GetFunctionFromLibrary(library));
35}
std::shared_ptr< impeller::VertexDescriptor > CreateVertexDescriptor() const
Definition: shader.cc:90
const std::vector< impeller::DescriptorSetLayout > & GetDescriptorSetLayouts() const
Definition: shader.cc:102
std::shared_ptr< const impeller::ShaderFunction > GetFunctionFromLibrary(impeller::ShaderLibrary &library)
Definition: shader.cc:60

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