MTLObjectCache: Correct signature of equality operator

Not doing so produces a warning in clang:
    ISO C++20 considers use of overloaded operator '!=' (with operand types
    'Metal::DepthStencilSelector' and 'Metal::DepthStencilSelector') to be
    ambiguous despite there being a unique best viable function with
    non-reversed arguments

The underlying reason for this warning is an incorrect method signature.
This commit is contained in:
Merry 2022-08-29 21:23:23 +01:00
parent 6d61e6a601
commit 362167fde5

View file

@ -37,8 +37,8 @@ struct DepthStencilSelector
bool UpdateEnable() const { return value & 1; }
enum CompareMode CompareMode() const { return static_cast<enum CompareMode>(value >> 1); }
bool operator==(const DepthStencilSelector& other) { return value == other.value; }
bool operator!=(const DepthStencilSelector& other) { return !(*this == other); }
bool operator==(const DepthStencilSelector& other) const { return value == other.value; }
bool operator!=(const DepthStencilSelector& other) const { return !(*this == other); }
static constexpr size_t N_VALUES = 1 << 4;
};
@ -63,8 +63,8 @@ struct SamplerSelector
WrapMode WrapV() const { return static_cast<WrapMode>((value >> 4) / 3); }
bool AnisotropicFiltering() const { return ((value >> 3) & 1); }
bool operator==(const SamplerSelector& other) { return value == other.value; }
bool operator!=(const SamplerSelector& other) { return !(*this == other); }
bool operator==(const SamplerSelector& other) const { return value == other.value; }
bool operator!=(const SamplerSelector& other) const { return !(*this == other); }
static constexpr size_t N_VALUES = (1 << 4) * 9;
};