Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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
15namespace 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.
22std::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.