5#ifndef FLUTTER_IMPELLER_RENDERER_SHADER_KEY_H_
6#define FLUTTER_IMPELLER_RENDERER_SHADER_KEY_H_
11#include <unordered_map>
23 :
name({p_name.data(), p_name.size()}),
stage(p_stage) {}
51 std::string_view library_id,
52 std::string_view entrypoint);
72 std::shared_ptr<const ShaderFunction>,
constexpr std::size_t HashCombine()
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