objc2_metal/generated/
MTL4TileRenderPipeline.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11 #[unsafe(super(MTL4PipelineDescriptor, NSObject))]
15 #[derive(Debug, PartialEq, Eq, Hash)]
16 #[cfg(feature = "MTL4PipelineState")]
17 pub struct MTL4TileRenderPipelineDescriptor;
18);
19
20#[cfg(feature = "MTL4PipelineState")]
21extern_conformance!(
22 unsafe impl NSCopying for MTL4TileRenderPipelineDescriptor {}
23);
24
25#[cfg(feature = "MTL4PipelineState")]
26unsafe impl CopyingHelper for MTL4TileRenderPipelineDescriptor {
27 type Result = Self;
28}
29
30#[cfg(feature = "MTL4PipelineState")]
31extern_conformance!(
32 unsafe impl NSObjectProtocol for MTL4TileRenderPipelineDescriptor {}
33);
34
35#[cfg(feature = "MTL4PipelineState")]
36impl MTL4TileRenderPipelineDescriptor {
37 extern_methods!(
38 #[cfg(feature = "MTL4FunctionDescriptor")]
39 #[unsafe(method(tileFunctionDescriptor))]
41 #[unsafe(method_family = none)]
42 pub fn tileFunctionDescriptor(&self) -> Option<Retained<MTL4FunctionDescriptor>>;
43
44 #[cfg(feature = "MTL4FunctionDescriptor")]
45 #[unsafe(method(setTileFunctionDescriptor:))]
49 #[unsafe(method_family = none)]
50 pub fn setTileFunctionDescriptor(
51 &self,
52 tile_function_descriptor: Option<&MTL4FunctionDescriptor>,
53 );
54
55 #[unsafe(method(rasterSampleCount))]
57 #[unsafe(method_family = none)]
58 pub fn rasterSampleCount(&self) -> NSUInteger;
59
60 #[unsafe(method(setRasterSampleCount:))]
66 #[unsafe(method_family = none)]
67 pub unsafe fn setRasterSampleCount(&self, raster_sample_count: NSUInteger);
68
69 #[cfg(feature = "MTLRenderPipeline")]
70 #[unsafe(method(colorAttachments))]
73 #[unsafe(method_family = none)]
74 pub fn colorAttachments(
75 &self,
76 ) -> Retained<MTLTileRenderPipelineColorAttachmentDescriptorArray>;
77
78 #[unsafe(method(threadgroupSizeMatchesTileSize))]
80 #[unsafe(method_family = none)]
81 pub fn threadgroupSizeMatchesTileSize(&self) -> bool;
82
83 #[unsafe(method(setThreadgroupSizeMatchesTileSize:))]
85 #[unsafe(method_family = none)]
86 pub fn setThreadgroupSizeMatchesTileSize(&self, threadgroup_size_matches_tile_size: bool);
87
88 #[unsafe(method(maxTotalThreadsPerThreadgroup))]
91 #[unsafe(method_family = none)]
92 pub fn maxTotalThreadsPerThreadgroup(&self) -> NSUInteger;
93
94 #[unsafe(method(setMaxTotalThreadsPerThreadgroup:))]
96 #[unsafe(method_family = none)]
97 pub fn setMaxTotalThreadsPerThreadgroup(
98 &self,
99 max_total_threads_per_threadgroup: NSUInteger,
100 );
101
102 #[cfg(feature = "MTLTypes")]
103 #[unsafe(method(requiredThreadsPerThreadgroup))]
112 #[unsafe(method_family = none)]
113 pub fn requiredThreadsPerThreadgroup(&self) -> MTLSize;
114
115 #[cfg(feature = "MTLTypes")]
116 #[unsafe(method(setRequiredThreadsPerThreadgroup:))]
118 #[unsafe(method_family = none)]
119 pub fn setRequiredThreadsPerThreadgroup(&self, required_threads_per_threadgroup: MTLSize);
120
121 #[cfg(feature = "MTL4LinkingDescriptor")]
122 #[unsafe(method(staticLinkingDescriptor))]
125 #[unsafe(method_family = none)]
126 pub fn staticLinkingDescriptor(&self) -> Retained<MTL4StaticLinkingDescriptor>;
127
128 #[cfg(feature = "MTL4LinkingDescriptor")]
129 #[unsafe(method(setStaticLinkingDescriptor:))]
133 #[unsafe(method_family = none)]
134 pub fn setStaticLinkingDescriptor(
135 &self,
136 static_linking_descriptor: Option<&MTL4StaticLinkingDescriptor>,
137 );
138
139 #[unsafe(method(supportBinaryLinking))]
141 #[unsafe(method_family = none)]
142 pub fn supportBinaryLinking(&self) -> bool;
143
144 #[unsafe(method(setSupportBinaryLinking:))]
146 #[unsafe(method_family = none)]
147 pub fn setSupportBinaryLinking(&self, support_binary_linking: bool);
148
149 #[unsafe(method(reset))]
151 #[unsafe(method_family = none)]
152 pub fn reset(&self);
153 );
154}
155
156#[cfg(feature = "MTL4PipelineState")]
158impl MTL4TileRenderPipelineDescriptor {
159 extern_methods!(
160 #[unsafe(method(init))]
161 #[unsafe(method_family = init)]
162 pub fn init(this: Allocated<Self>) -> Retained<Self>;
163
164 #[unsafe(method(new))]
165 #[unsafe(method_family = new)]
166 pub fn new() -> Retained<Self>;
167 );
168}
169
170#[cfg(feature = "MTL4PipelineState")]
171impl DefaultRetained for MTL4TileRenderPipelineDescriptor {
172 #[inline]
173 fn default_retained() -> Retained<Self> {
174 Self::new()
175 }
176}