| Flutter Impeller |

Classes | Namespaces | Functions
reflector.cc File Reference
`#include "impeller/compiler/reflector.h"`
`#include <atomic>`
`#include <format>`
`#include <optional>`
`#include <set>`
`#include <sstream>`
`#include "flutter/fml/logging.h"`
`#include "fml/backtrace.h"`
`#include "impeller/base/strings.h"`
`#include "impeller/base/validation.h"`
`#include "impeller/compiler/code_gen_template.h"`
`#include "impeller/compiler/shader_bundle_data.h"`
`#include "impeller/compiler/types.h"`
`#include "impeller/compiler/uniform_sorter.h"`
`#include "impeller/compiler/utilities.h"`
`#include "impeller/core/runtime_types.h"`
`#include "impeller/geometry/half.h"`
`#include "impeller/geometry/matrix.h"`
`#include "impeller/geometry/scalar.h"`
`#include "impeller/runtime_stage/runtime_stage.h"`
`#include "runtime_stage_types_flatbuffers.h"`
`#include "spirv_common.hpp"`

Go to the source code of this file.

## Classes
struct | impeller::compiler::KnownType
struct | impeller::compiler::VertexType

## Namespaces
| impeller
| impeller::compiler

## Functions
static std::string | impeller::compiler::ExecutionModelToString (spv::ExecutionModel model)
static std::string | impeller::compiler::StringToShaderStage (const std::string &str)
static std::optional< RuntimeStageBackend > | impeller::compiler::GetRuntimeStageBackend (TargetPlatform target_platform)
static std::string | impeller::compiler::ToString (CompilerBackend::Type type)
static std::string | impeller::compiler::TypeNameWithPaddingOfSize (size_t size)
static std::optional< KnownType > | impeller::compiler::ReadKnownScalarType (spirv_cross::SPIRType::BaseType type)
static size_t | impeller::compiler::GetReflectedStructSize (const std::vector< StructMember > &members)
| Get the reflected struct size. In the vast majority of the cases, this is the same as the declared struct size as given by the compiler. But, additional padding may need to be introduced after the end of the struct to keep in line with the alignment requirement of the individual struct members. This method figures out the actual size of the reflected struct that can be referenced in native code. More...
static VertexType | impeller::compiler::VertexTypeFromInputResource (const spirv_cross::Compiler &compiler, const spirv_cross::Resource *resource)