objc2_metal/generated/
MTLVisibleFunctionTable.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11 #[unsafe(super(NSObject))]
13 #[derive(Debug, PartialEq, Eq, Hash)]
14 pub struct MTLVisibleFunctionTableDescriptor;
15);
16
17extern_conformance!(
18 unsafe impl NSCopying for MTLVisibleFunctionTableDescriptor {}
19);
20
21unsafe impl CopyingHelper for MTLVisibleFunctionTableDescriptor {
22 type Result = Self;
23}
24
25extern_conformance!(
26 unsafe impl NSObjectProtocol for MTLVisibleFunctionTableDescriptor {}
27);
28
29impl MTLVisibleFunctionTableDescriptor {
30 extern_methods!(
31 #[unsafe(method(visibleFunctionTableDescriptor))]
33 #[unsafe(method_family = none)]
34 pub fn visibleFunctionTableDescriptor() -> Retained<MTLVisibleFunctionTableDescriptor>;
35
36 #[unsafe(method(functionCount))]
38 #[unsafe(method_family = none)]
39 pub fn functionCount(&self) -> NSUInteger;
40
41 #[unsafe(method(setFunctionCount:))]
47 #[unsafe(method_family = none)]
48 pub unsafe fn setFunctionCount(&self, function_count: NSUInteger);
49 );
50}
51
52impl MTLVisibleFunctionTableDescriptor {
54 extern_methods!(
55 #[unsafe(method(init))]
56 #[unsafe(method_family = init)]
57 pub fn init(this: Allocated<Self>) -> Retained<Self>;
58
59 #[unsafe(method(new))]
60 #[unsafe(method_family = new)]
61 pub fn new() -> Retained<Self>;
62 );
63}
64
65impl DefaultRetained for MTLVisibleFunctionTableDescriptor {
66 #[inline]
67 fn default_retained() -> Retained<Self> {
68 Self::new()
69 }
70}
71
72extern_protocol!(
73 #[cfg(all(feature = "MTLAllocation", feature = "MTLResource"))]
75 pub unsafe trait MTLVisibleFunctionTable: MTLResource {
76 #[cfg(feature = "MTLTypes")]
77 #[unsafe(method(gpuResourceID))]
79 #[unsafe(method_family = none)]
80 fn gpuResourceID(&self) -> MTLResourceID;
81
82 #[cfg(feature = "MTLFunctionHandle")]
83 #[unsafe(method(setFunction:atIndex:))]
89 #[unsafe(method_family = none)]
90 unsafe fn setFunction_atIndex(
91 &self,
92 function: Option<&ProtocolObject<dyn MTLFunctionHandle>>,
93 index: NSUInteger,
94 );
95
96 #[cfg(feature = "MTLFunctionHandle")]
97 #[unsafe(method(setFunctions:withRange:))]
102 #[unsafe(method_family = none)]
103 unsafe fn setFunctions_withRange(
104 &self,
105 functions: NonNull<*const ProtocolObject<dyn MTLFunctionHandle>>,
106 range: NSRange,
107 );
108 }
109);