823{
824 size_t hash = 0;
825 auto hash_combine = [](size_t& seed, size_t value) {
826 seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2);
827 };
828
829 hash_combine(hash, static_cast<size_t>(filter));
830 hash_combine(hash, static_cast<size_t>(address_mode));
831 hash_combine(hash, std::hash<float> {}(max_anisotropy));
832
833 return hash;
834}