Flutter Engine
The Flutter Engine
shader_bundle.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_COMPILER_SHADER_BUNDLE_H_
6#define FLUTTER_IMPELLER_COMPILER_SHADER_BUNDLE_H_
7
10#include "impeller/shader_bundle/shader_bundle_flatbuffers.h"
11
12namespace impeller {
13namespace compiler {
14
15/// @brief Parse a shader bundle configuration from a given JSON string.
16///
17/// @note Exposed only for testing purposes. Use `GenerateShaderBundle`
18/// directly.
19std::optional<ShaderBundleConfig> ParseShaderBundleConfig(
20 const std::string& bundle_config_json,
21 std::ostream& error_stream);
22
23/// @brief Parses the JSON shader bundle configuration and invokes the
24/// compiler multiple times to produce a shader bundle flatbuffer.
25///
26/// @note Exposed only for testing purposes. Use `GenerateShaderBundle`
27/// directly.
28std::optional<fb::shaderbundle::ShaderBundleT> GenerateShaderBundleFlatbuffer(
29 const std::string& bundle_config_json,
30 const SourceOptions& options);
31
32/// @brief Parses the JSON shader bundle configuration and invokes the
33/// compiler multiple times to produce a shader bundle flatbuffer, which
34/// is then output to the `sl` file.
35bool GenerateShaderBundle(Switches& switches);
36
37} // namespace compiler
38} // namespace impeller
39
40#endif // FLUTTER_IMPELLER_COMPILER_SHADER_BUNDLE_H_
const char * options
std::optional< fb::shaderbundle::ShaderBundleT > GenerateShaderBundleFlatbuffer(const std::string &bundle_config_json, const SourceOptions &options)
Parses the JSON shader bundle configuration and invokes the compiler multiple times to produce a shad...
bool GenerateShaderBundle(Switches &switches)
Parses the JSON shader bundle configuration and invokes the compiler multiple times to produce a shad...
std::optional< ShaderBundleConfig > ParseShaderBundleConfig(const std::string &bundle_config_json, std::ostream &error_stream)
Parse a shader bundle configuration from a given JSON string.