| Flutter Impeller |

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 #include "impeller/compiler/source_options.h"
6 #include "impeller/compiler/switches.h"
7 #include "impeller/shader_bundle/shader_bundle_flatbuffers.h"
8
9 namespace impeller {
10 namespace compiler {
11
12 /// @brief Parse a shader bundle configuration from a given JSON string.
13 ///
14 /// @note Exposed only for testing purposes. Use `GenerateShaderBundle`
15 /// directly.
16 std::optional<ShaderBundleConfig> ParseShaderBundleConfig(
17 const std::string& bundle_config_json,
18 std::ostream& error_stream);
19
20 /// @brief Parses the JSON shader bundle configuration and invokes the
21 /// compiler multiple times to produce a shader bundle flatbuffer.
22 ///
23 /// @note Exposed only for testing purposes. Use `GenerateShaderBundle`
24 /// directly.
25 std::optional<fb::ShaderBundleT> GenerateShaderBundleFlatbuffer(
26 const std::string& bundle_config_json,
27 const SourceOptions& options);
28
29 /// @brief Parses the JSON shader bundle configuration and invokes the
30 /// compiler multiple times to produce a shader bundle flatbuffer, which
31 /// is then output to the `sl` file.
32 bool GenerateShaderBundle(Switches& switches);
33
34 } // namespace compiler
35 } // namespace impeller
switches.h
impeller::compiler::ParseShaderBundleConfig
std::optional< ShaderBundleConfig > ParseShaderBundleConfig(const std::string &bundle_config_json, std::ostream &error_stream)
Parse a shader bundle configuration from a given JSON string.
Definition: shader_bundle.cc:19
source_options.h
impeller::compiler::GenerateShaderBundleFlatbuffer
std::optional< fb::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...
Definition: shader_bundle.cc:144
impeller
Definition: aiks_context.cc:10
impeller::compiler::GenerateShaderBundle
bool GenerateShaderBundle(Switches &switches)
Parses the JSON shader bundle configuration and invokes the compiler multiple times to produce a shad...
Definition: shader_bundle.cc:175