Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
shader.h File Reference
#include <algorithm>
#include <memory>
#include <string>
#include "flutter/lib/gpu/context.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "fml/memory/ref_ptr.h"
#include "impeller/core/shader_types.h"
#include "impeller/renderer/shader_function.h"
#include "impeller/renderer/vertex_descriptor.h"

Go to the source code of this file.

Classes

class  flutter::gpu::Shader
 An immutable collection of shaders loaded from a shader bundle asset. More...
 
struct  flutter::gpu::Shader::UniformBinding
 
struct  flutter::gpu::Shader::TextureBinding
 

Namespaces

namespace  flutter
 
namespace  flutter::gpu
 

Functions

FLUTTER_GPU_EXPORT int InternalFlutterGpu_Shader_GetUniformStructSize (flutter::gpu::Shader *wrapper, Dart_Handle struct_name_handle)
 
FLUTTER_GPU_EXPORT int InternalFlutterGpu_Shader_GetUniformMemberOffset (flutter::gpu::Shader *wrapper, Dart_Handle struct_name_handle, Dart_Handle member_name_handle)
 
FLUTTER_GPU_EXPORT bool InternalFlutterGpu_Shader_DebugIsDirty (flutter::gpu::Shader *wrapper)
 

Function Documentation

◆ InternalFlutterGpu_Shader_DebugIsDirty()

FLUTTER_GPU_EXPORT bool InternalFlutterGpu_Shader_DebugIsDirty ( flutter::gpu::Shader wrapper)
extern

Definition at line 232 of file shader.cc.

232 {
233 return wrapper->IsDirty();
234}
bool IsDirty() const
Definition shader.cc:79

References flutter::gpu::Shader::IsDirty().

◆ InternalFlutterGpu_Shader_GetUniformMemberOffset()

FLUTTER_GPU_EXPORT int InternalFlutterGpu_Shader_GetUniformMemberOffset ( flutter::gpu::Shader wrapper,
Dart_Handle  struct_name_handle,
Dart_Handle  member_name_handle 
)
extern

Definition at line 213 of file shader.cc.

216 {
217 auto struct_name = tonic::StdStringFromDart(struct_name_handle);
218 const auto* uniform = wrapper->GetUniformStruct(struct_name);
219 if (uniform == nullptr) {
220 return -1;
221 }
222
223 auto member_name = tonic::StdStringFromDart(member_name_handle);
224 const auto* member = uniform->GetMemberMetadata(member_name);
225 if (member == nullptr) {
226 return -1;
227 }
228
229 return member->offset;
230}
const Shader::UniformBinding * GetUniformStruct(const std::string &name) const
Definition shader.cc:176
std::string StdStringFromDart(Dart_Handle handle)

References flutter::gpu::Shader::GetUniformStruct(), and tonic::StdStringFromDart().

◆ InternalFlutterGpu_Shader_GetUniformStructSize()

FLUTTER_GPU_EXPORT int InternalFlutterGpu_Shader_GetUniformStructSize ( flutter::gpu::Shader wrapper,
Dart_Handle  struct_name_handle 
)
extern

Exports

Definition at line 201 of file shader.cc.

203 {
204 auto name = tonic::StdStringFromDart(struct_name_handle);
205 const auto* uniform = wrapper->GetUniformStruct(name);
206 if (uniform == nullptr) {
207 return -1;
208 }
209
210 return uniform->size_in_bytes;
211}
const char * name
Definition fuchsia.cc:50

References flutter::gpu::Shader::GetUniformStruct(), flutter::name, flutter::gpu::Shader::UniformBinding::size_in_bytes, and tonic::StdStringFromDart().