use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MTLResourceStatePassSampleBufferAttachmentDescriptor;
unsafe impl ClassType for MTLResourceStatePassSampleBufferAttachmentDescriptor {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCopying for MTLResourceStatePassSampleBufferAttachmentDescriptor {}
unsafe impl NSObjectProtocol for MTLResourceStatePassSampleBufferAttachmentDescriptor {}
extern_methods!(
unsafe impl MTLResourceStatePassSampleBufferAttachmentDescriptor {
#[cfg(feature = "MTLCounters")]
#[method_id(@__retain_semantics Other sampleBuffer)]
pub unsafe fn sampleBuffer(
&self,
) -> Option<Retained<ProtocolObject<dyn MTLCounterSampleBuffer>>>;
#[cfg(feature = "MTLCounters")]
#[method(setSampleBuffer:)]
pub unsafe fn setSampleBuffer(
&self,
sample_buffer: Option<&ProtocolObject<dyn MTLCounterSampleBuffer>>,
);
#[method(startOfEncoderSampleIndex)]
pub unsafe fn startOfEncoderSampleIndex(&self) -> NSUInteger;
#[method(setStartOfEncoderSampleIndex:)]
pub unsafe fn setStartOfEncoderSampleIndex(
&self,
start_of_encoder_sample_index: NSUInteger,
);
#[method(endOfEncoderSampleIndex)]
pub unsafe fn endOfEncoderSampleIndex(&self) -> NSUInteger;
#[method(setEndOfEncoderSampleIndex:)]
pub unsafe fn setEndOfEncoderSampleIndex(&self, end_of_encoder_sample_index: NSUInteger);
}
);
extern_methods!(
unsafe impl MTLResourceStatePassSampleBufferAttachmentDescriptor {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MTLResourceStatePassSampleBufferAttachmentDescriptorArray;
unsafe impl ClassType for MTLResourceStatePassSampleBufferAttachmentDescriptorArray {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for MTLResourceStatePassSampleBufferAttachmentDescriptorArray {}
extern_methods!(
unsafe impl MTLResourceStatePassSampleBufferAttachmentDescriptorArray {
#[method_id(@__retain_semantics Other objectAtIndexedSubscript:)]
pub unsafe fn objectAtIndexedSubscript(
&self,
attachment_index: NSUInteger,
) -> Retained<MTLResourceStatePassSampleBufferAttachmentDescriptor>;
#[method(setObject:atIndexedSubscript:)]
pub unsafe fn setObject_atIndexedSubscript(
&self,
attachment: Option<&MTLResourceStatePassSampleBufferAttachmentDescriptor>,
attachment_index: NSUInteger,
);
}
);
extern_methods!(
unsafe impl MTLResourceStatePassSampleBufferAttachmentDescriptorArray {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MTLResourceStatePassDescriptor;
unsafe impl ClassType for MTLResourceStatePassDescriptor {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCopying for MTLResourceStatePassDescriptor {}
unsafe impl NSObjectProtocol for MTLResourceStatePassDescriptor {}
extern_methods!(
unsafe impl MTLResourceStatePassDescriptor {
#[method_id(@__retain_semantics Other resourceStatePassDescriptor)]
pub unsafe fn resourceStatePassDescriptor() -> Retained<MTLResourceStatePassDescriptor>;
#[method_id(@__retain_semantics Other sampleBufferAttachments)]
pub unsafe fn sampleBufferAttachments(
&self,
) -> Retained<MTLResourceStatePassSampleBufferAttachmentDescriptorArray>;
}
);
extern_methods!(
unsafe impl MTLResourceStatePassDescriptor {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);