Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Namespaces | Functions
shader.cc File Reference
#include "flutter/lib/gpu/shader.h"
#include <utility>
#include "flutter/lib/gpu/formats.h"
#include "fml/make_copyable.h"
#include "impeller/core/runtime_types.h"
#include "impeller/renderer/shader_function.h"
#include "impeller/renderer/shader_library.h"
#include "tonic/converter/dart_converter.h"

Go to the source code of this file.

Namespaces

namespace  flutter
 
namespace  flutter::gpu
 

Functions

 flutter::gpu::IMPLEMENT_WRAPPERTYPEINFO (flutter_gpu, Shader)
 
int InternalFlutterGpu_Shader_GetUniformStructSize (flutter::gpu::Shader *wrapper, Dart_Handle struct_name_handle)
 
int InternalFlutterGpu_Shader_GetUniformMemberOffset (flutter::gpu::Shader *wrapper, Dart_Handle struct_name_handle, Dart_Handle member_name_handle)
 

Function Documentation

◆ InternalFlutterGpu_Shader_GetUniformMemberOffset()

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

Definition at line 132 of file shader.cc.

135 {
136 auto struct_name = tonic::StdStringFromDart(struct_name_handle);
137 const auto* uniform = wrapper->GetUniformStruct(struct_name);
138 if (uniform == nullptr) {
139 return -1;
140 }
141
142 auto member_name = tonic::StdStringFromDart(member_name_handle);
143 const auto* member = uniform->GetMemberMetadata(member_name);
144 if (member == nullptr) {
145 return -1;
146 }
147
148 return member->offset;
149}
const Shader::UniformBinding * GetUniformStruct(const std::string &name) const
Definition shader.cc:95
std::string StdStringFromDart(Dart_Handle handle)

◆ InternalFlutterGpu_Shader_GetUniformStructSize()

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

Exports

Definition at line 120 of file shader.cc.

122 {
123 auto name = tonic::StdStringFromDart(struct_name_handle);
124 const auto* uniform = wrapper->GetUniformStruct(name);
125 if (uniform == nullptr) {
126 return -1;
127 }
128
129 return uniform->size_in_bytes;
130}
const char * name
Definition fuchsia.cc:50