Flutter Impeller
uniform_sorter.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_UNIFORM_SORTER_H_
6 #define FLUTTER_IMPELLER_COMPILER_UNIFORM_SORTER_H_
7 
8 #include <optional>
9 
11 
12 #include "spirv_msl.hpp"
13 #include "spirv_parser.hpp"
14 
15 namespace impeller {
16 
17 /// @brief Sorts uniform declarations in an IR according to decoration order.
18 ///
19 /// The [type_filter] may be optionally supplied to limit which types are
20 /// returned The [include] value can be set to false change this filter to
21 /// exclude instead of include.
22 std::vector<spirv_cross::ID> SortUniforms(
23  const spirv_cross::ParsedIR* ir,
24  const spirv_cross::Compiler* compiler,
25  std::optional<spirv_cross::SPIRType::BaseType> type_filter = std::nullopt,
26  bool include = true);
27 
28 } // namespace impeller
29 
30 #endif // FLUTTER_IMPELLER_COMPILER_UNIFORM_SORTER_H_
std::vector< spirv_cross::ID > SortUniforms(const spirv_cross::ParsedIR *ir, const spirv_cross::Compiler *compiler, std::optional< spirv_cross::SPIRType::BaseType > type_filter, bool include)
Sorts uniform declarations in an IR according to decoration order.