1069{
1070 size_t hash = 0;
1071 auto hash_combine = [](size_t& seed, size_t value) {
1072 seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2);
1073 };
1074
1075 hash_combine(hash, static_cast<size_t>(filter));
1076 hash_combine(hash, static_cast<size_t>(address_mode));
1077 hash_combine(hash, std::hash<float> {}(max_anisotropy));
1078
1079 return hash;
1080}