use objc2::{Encode, Encoding, RefEncode};
#[allow(non_camel_case_types)]
#[deprecated(note = "use MTLGPUFamily instead")]
#[repr(u64)]
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, PartialOrd, Ord)]
pub enum MTLFeatureSet {
iOS_GPUFamily1_v1 = 0,
iOS_GPUFamily2_v1 = 1,
iOS_GPUFamily1_v2 = 2,
iOS_GPUFamily2_v2 = 3,
iOS_GPUFamily3_v1 = 4,
iOS_GPUFamily1_v3 = 5,
iOS_GPUFamily2_v3 = 6,
iOS_GPUFamily3_v2 = 7,
iOS_GPUFamily1_v4 = 8,
iOS_GPUFamily2_v4 = 9,
iOS_GPUFamily3_v3 = 10,
iOS_GPUFamily4_v1 = 11,
iOS_GPUFamily1_v5 = 12,
iOS_GPUFamily2_v5 = 13,
iOS_GPUFamily3_v4 = 14,
iOS_GPUFamily4_v2 = 15,
iOS_GPUFamily5_v1 = 16,
macOS_GPUFamily1_v1 = 10000,
macOS_GPUFamily1_v2 = 10001,
macOS_ReadWriteTextureTier2 = 10002,
macOS_GPUFamily1_v3 = 10003,
macOS_GPUFamily1_v4 = 10004,
macOS_GPUFamily2_v1 = 10005,
tvOS_GPUFamily1_v1 = 30000,
tvOS_GPUFamily1_v2 = 30001,
tvOS_GPUFamily1_v3 = 30002,
tvOS_GPUFamily2_v1 = 30003,
tvOS_GPUFamily1_v4 = 30004,
tvOS_GPUFamily2_v2 = 30005,
}
#[allow(deprecated, non_upper_case_globals)]
impl MTLFeatureSet {
#[deprecated(note = "use macOS_GPUFamily1_v1")]
pub const OSX_GPUFamily1_v1: Self = Self::macOS_GPUFamily1_v1;
#[deprecated(note = "use macOS_GPUFamily1_v2")]
pub const OSX_GPUFamily1_v2: Self = Self::macOS_GPUFamily1_v2;
#[deprecated(note = "use macOS_ReadWriteTextureTier2")]
pub const OSX_ReadWriteTextureTier2: Self = Self::macOS_ReadWriteTextureTier2;
#[deprecated(note = "use tvOS_GPUFamily1_v1")]
pub const TVOS_GPUFamily1_v1: Self = Self::tvOS_GPUFamily1_v1;
}
#[allow(deprecated)]
unsafe impl Encode for MTLFeatureSet {
const ENCODING: Encoding = u64::ENCODING;
}
#[allow(deprecated)]
unsafe impl RefEncode for MTLFeatureSet {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(test)]
#[allow(deprecated)]
mod tests {
use super::MTLFeatureSet;
#[test]
fn legacy_names_match_their_replacements() {
assert_eq!(MTLFeatureSet::OSX_GPUFamily1_v1, MTLFeatureSet::macOS_GPUFamily1_v1);
assert_eq!(MTLFeatureSet::OSX_GPUFamily1_v2, MTLFeatureSet::macOS_GPUFamily1_v2);
assert_eq!(MTLFeatureSet::OSX_ReadWriteTextureTier2, MTLFeatureSet::macOS_ReadWriteTextureTier2);
assert_eq!(MTLFeatureSet::TVOS_GPUFamily1_v1, MTLFeatureSet::tvOS_GPUFamily1_v1);
}
}