An immutable collection of shaders loaded from a shader bundle asset. More...
#include <shader.h>
Classes | |
| struct | TextureBinding |
| struct | UniformBinding |
Public Member Functions | |
| ~Shader () override | |
| std::shared_ptr< const impeller::ShaderFunction > | GetFunctionFromLibrary (impeller::ShaderLibrary &library) |
| bool | IsRegistered (Context &context) |
| bool | RegisterSync (Context &context) |
| std::shared_ptr< impeller::VertexDescriptor > | CreateVertexDescriptor () const |
| const std::vector< impeller::DescriptorSetLayout > & | GetDescriptorSetLayouts () const |
| impeller::ShaderStage | GetShaderStage () const |
| const Shader::UniformBinding * | GetUniformStruct (const std::string &name) const |
| const Shader::TextureBinding * | GetUniformTexture (const std::string &name) const |
Public Member Functions inherited from flutter::RefCountedDartWrappable< Shader > | |
| virtual void | RetainDartWrappableReference () const override |
| virtual void | ReleaseDartWrappableReference () const override |
Public Member Functions inherited from fml::RefCountedThreadSafe< T > | |
| 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 DartWrapperInfo & | GetDartWrapperInfo () const =0 |
| Dart_Handle | CreateDartWrapper (DartState *dart_state) |
| void | AssociateWithDartWrapper (Dart_Handle wrappable) |
| void | ClearDartWrapper () |
| Dart_WeakPersistentHandle | dart_wrapper () const |
Static Public Member Functions | |
| static fml::RefPtr< Shader > | Make (std::string entrypoint, impeller::ShaderStage stage, std::shared_ptr< fml::Mapping > code_mapping, std::vector< impeller::ShaderStageIOSlot > inputs, std::vector< impeller::ShaderStageBufferLayout > layouts, std::unordered_map< std::string, UniformBinding > uniform_structs, std::unordered_map< std::string, TextureBinding > uniform_textures, std::vector< impeller::DescriptorSetLayout > descriptor_set_layouts) |
Additional Inherited Members | |
Public Types inherited from tonic::DartWrappable | |
| enum | DartNativeFields { kPeerIndex , kNumberOfNativeFields } |
Protected Member Functions inherited from fml::RefCountedThreadSafe< T > | |
| 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) |
An immutable collection of shaders loaded from a shader bundle asset.
|
overridedefault |
| std::shared_ptr< impeller::VertexDescriptor > flutter::gpu::Shader::CreateVertexDescriptor | ( | ) | const |
Definition at line 89 of file shader.cc.
Referenced by flutter::gpu::RenderPipeline::BindToPipelineDescriptor().
| const std::vector< impeller::DescriptorSetLayout > & flutter::gpu::Shader::GetDescriptorSetLayouts | ( | ) | const |
Definition at line 101 of file shader.cc.
Referenced by flutter::gpu::RenderPipeline::BindToPipelineDescriptor().
| std::shared_ptr< const impeller::ShaderFunction > flutter::gpu::Shader::GetFunctionFromLibrary | ( | impeller::ShaderLibrary & | library | ) |
Definition at line 59 of file shader.cc.
References impeller::ShaderLibrary::GetFunction().
Referenced by flutter::gpu::RenderPipeline::BindToPipelineDescriptor(), and IsRegistered().
| impeller::ShaderStage flutter::gpu::Shader::GetShaderStage | ( | ) | const |
Definition at line 96 of file shader.cc.
Referenced by BindUniform(), and InternalFlutterGpu_RenderPass_BindTexture().
| const Shader::UniformBinding * flutter::gpu::Shader::GetUniformStruct | ( | const std::string & | name | ) | const |
Definition at line 105 of file shader.cc.
References flutter::name.
Referenced by BindUniform(), InternalFlutterGpu_Shader_GetUniformMemberOffset(), and InternalFlutterGpu_Shader_GetUniformStructSize().
| const Shader::TextureBinding * flutter::gpu::Shader::GetUniformTexture | ( | const std::string & | name | ) | const |
Definition at line 114 of file shader.cc.
References flutter::name.
Referenced by InternalFlutterGpu_RenderPass_BindTexture().
| bool flutter::gpu::Shader::IsRegistered | ( | Context & | context | ) |
Definition at line 64 of file shader.cc.
References flutter::gpu::Context::GetContext(), GetFunctionFromLibrary(), and impeller::Context::GetShaderLibrary().
Referenced by RegisterSync().
|
static |
Definition at line 38 of file shader.cc.
Referenced by flutter::gpu::ShaderLibrary::MakeFromFlatbuffer().
| bool flutter::gpu::Shader::RegisterSync | ( | Context & | context | ) |
Definition at line 69 of file shader.cc.
References flutter::gpu::Context::GetContext(), impeller::Context::GetShaderLibrary(), IsRegistered(), and fml::MakeCopyable().
Referenced by InternalFlutterGpu_RenderPipeline_Initialize().