913{
914 size_t hash = 0;
915 auto hash_combine = [](size_t& seed, size_t value) {
916 seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2);
917 };
918
919 hash_combine(hash, static_cast<size_t>(filter));
920 hash_combine(hash, static_cast<size_t>(address_mode));
921 hash_combine(hash, std::hash<float> {}(max_anisotropy));
922
923 return hash;
924}