1011{
1012 size_t hash = 0;
1013 auto hash_combine = [](size_t& seed, size_t value) {
1014 seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2);
1015 };
1016
1017 hash_combine(hash, static_cast<size_t>(filter));
1018 hash_combine(hash, static_cast<size_t>(address_mode));
1019 hash_combine(hash, std::hash<float> {}(max_anisotropy));
1020
1021 return hash;
1022}