Flutter Engine
The Flutter Engine
Classes | Namespaces | Functions
reflector.cc File Reference
#include "impeller/compiler/reflector.h"
#include <atomic>
#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 "spirv_common.hpp"

Go to the source code of this file.

Classes

struct  impeller::compiler::KnownType
 
struct  impeller::compiler::VertexType
 

Namespaces

namespace  impeller
 
namespace  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)