use objc2::{Encode, Encoding, RefEncode};
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct MTLFunctionOptions(pub usize);
bitflags::bitflags! {
impl MTLFunctionOptions: usize {
const None = 0;
const CompileToBinary = 1<<0;
const StoreFunctionInMetalPipelinesScript = 1<<1;
const FailOnBinaryArchiveMiss = 1<<2;
const PipelineIndependent = 1<<3;
}
}
unsafe impl Encode for MTLFunctionOptions {
const ENCODING: Encoding = usize::ENCODING;
}
unsafe impl RefEncode for MTLFunctionOptions {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}