Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
shader_bundle.h File Reference
#include <set>
#include <string>
#include <string_view>
#include <vector>
#include "impeller/compiler/source_options.h"
#include "impeller/compiler/switches.h"
#include "impeller/compiler/types.h"
#include "impeller/shader_bundle/shader_bundle_flatbuffers.h"

Go to the source code of this file.

Namespaces

namespace  impeller
 
namespace  impeller::compiler
 

Functions

std::vector< std::string_view > impeller::compiler::GetShaderBundleTargetPlatformDefines (TargetPlatform platform)
 The platform-discriminating preprocessor defines injected when compiling a bundled shader for platform (for example IMPELLER_TARGET_METAL). These let bundled Flutter GPU shaders specialize for the backend they will run on, matching the defines that Impeller's own shaders receive from the build templates.
 
std::optional< ShaderBundleConfigimpeller::compiler::ParseShaderBundleConfig (const std::string &bundle_config_json, std::ostream &error_stream)
 Parse a shader bundle configuration from a given JSON string.
 
std::optional< fb::shaderbundle::ShaderBundleT > impeller::compiler::GenerateShaderBundleFlatbuffer (const std::string &bundle_config_json, const SourceOptions &options, std::set< std::string > *out_dependencies=nullptr)
 Parses the JSON shader bundle configuration and invokes the compiler multiple times to produce a shader bundle flatbuffer.
 
bool impeller::compiler::GenerateShaderBundle (Switches &switches)
 Parses the JSON shader bundle configuration and invokes the compiler multiple times to produce a shader bundle flatbuffer, which is then output to the sl file.