Files
UnrealEngine/Engine/Source/Runtime/RHI/Public/IOS/IOSStaticFeatureLevel.inl
2025-05-18 13:04:45 +08:00

58 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#if defined(UE_IOS_SHADER_PLATFORM_METAL_MRT)
#define UE_IOS_STATIC_FEATURE_LEVEL ERHIFeatureLevel::SM5
#else
#define UE_IOS_STATIC_FEATURE_LEVEL ERHIFeatureLevel::ES3_1
#endif
struct FStaticFeatureLevel
{
inline FStaticFeatureLevel(const ERHIFeatureLevel::Type InFeatureLevel)
{
checkSlow(InFeatureLevel == UE_IOS_STATIC_FEATURE_LEVEL);
}
inline FStaticFeatureLevel(const TEnumAsByte<ERHIFeatureLevel::Type> InFeatureLevel)
{
checkSlow(InFeatureLevel.GetValue() == UE_IOS_STATIC_FEATURE_LEVEL);
}
inline operator ERHIFeatureLevel::Type() const
{
return UE_IOS_STATIC_FEATURE_LEVEL;
}
inline bool operator == (const ERHIFeatureLevel::Type Other) const
{
return Other == UE_IOS_STATIC_FEATURE_LEVEL;
}
inline bool operator != (const ERHIFeatureLevel::Type Other) const
{
return Other != UE_IOS_STATIC_FEATURE_LEVEL;
}
inline bool operator <= (const ERHIFeatureLevel::Type Other) const
{
return UE_IOS_STATIC_FEATURE_LEVEL <= Other;
}
inline bool operator < (const ERHIFeatureLevel::Type Other) const
{
return UE_IOS_STATIC_FEATURE_LEVEL < Other;
}
inline bool operator >= (const ERHIFeatureLevel::Type Other) const
{
return UE_IOS_STATIC_FEATURE_LEVEL >= Other;
}
inline bool operator > (const ERHIFeatureLevel::Type Other) const
{
return UE_IOS_STATIC_FEATURE_LEVEL > Other;
}
};