5 #ifndef FLUTTER_IMPELLER_RENDERER_SHADER_KEY_H_
6 #define FLUTTER_IMPELLER_RENDERER_SHADER_KEY_H_
10 #include <string_view>
11 #include <unordered_map>
13 #include "flutter/fml/hash_combine.h"
23 :
name({p_name.data(), p_name.size()}),
stage(p_stage) {}
27 return fml::HashCombine(key.
name, key.
stage);
51 std::string_view library_id,
52 std::string_view entrypoint);
72 std::shared_ptr<const ShaderFunction>,
std::unordered_map< ShaderKey, std::shared_ptr< const ShaderFunction >, ShaderKey::Hash, ShaderKey::Equal > ShaderFunctionMap
constexpr bool operator()(const ShaderKey &k1, const ShaderKey &k2) const
size_t operator()(const ShaderKey &key) const
static constexpr std::string_view kScopeFlutterGPU
Scope tag for Flutter GPU user shader bundles.
static std::string MakeUserScopedName(std::string_view scope, std::string_view library_id, std::string_view entrypoint)
ShaderKey(std::string_view p_name, ShaderStage p_stage)
static std::string MakeFallbackLibraryId()
static constexpr std::string_view kScopeRuntimeEffect