5#ifndef FLUTTER_IMPELLER_RENDERER_SHADER_KEY_H_
6#define FLUTTER_IMPELLER_RENDERER_SHADER_KEY_H_
10#include <unordered_map>
12#include "flutter/fml/hash_combine.h"
13#include "flutter/fml/macros.h"
23 :
name({p_name.data(), p_name.size()}),
stage(p_stage) {}
33 return k1.stage == k2.stage && k1.name == k2.name;
42 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
ShaderKey(std::string_view p_name, ShaderStage p_stage)