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"
22 :
name({p_name.data(), p_name.size()}),
stage(p_stage) {}
32 return k1.stage == k2.stage && k1.name == k2.name;
41 std::shared_ptr<const ShaderFunction>,
static uint32_t Hash(uint32_t key)
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)