objc2_metal_performance_shaders/generated/MPSNeuralNetwork/
MPSCNNInstanceNormalization.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7use objc2_metal::*;
8
9use crate::*;
10
11extern_class!(
12 #[unsafe(super(MPSNNGradientState, MPSState, NSObject))]
22 #[derive(Debug, PartialEq, Eq, Hash)]
23 #[cfg(all(
24 feature = "MPSCore",
25 feature = "MPSNNGradientState",
26 feature = "MPSState"
27 ))]
28 pub struct MPSCNNInstanceNormalizationGradientState;
29);
30
31#[cfg(all(
32 feature = "MPSCore",
33 feature = "MPSNNGradientState",
34 feature = "MPSState"
35))]
36extern_conformance!(
37 unsafe impl NSObjectProtocol for MPSCNNInstanceNormalizationGradientState {}
38);
39
40#[cfg(all(
41 feature = "MPSCore",
42 feature = "MPSNNGradientState",
43 feature = "MPSState"
44))]
45impl MPSCNNInstanceNormalizationGradientState {
46 extern_methods!(
47 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSKernel"))]
48 #[unsafe(method(instanceNormalization))]
50 #[unsafe(method_family = none)]
51 pub unsafe fn instanceNormalization(&self) -> Retained<MPSCNNInstanceNormalization>;
52
53 #[unsafe(method(gamma))]
55 #[unsafe(method_family = none)]
56 pub unsafe fn gamma(&self) -> Option<Retained<ProtocolObject<dyn MTLBuffer>>>;
57
58 #[unsafe(method(beta))]
60 #[unsafe(method_family = none)]
61 pub unsafe fn beta(&self) -> Option<Retained<ProtocolObject<dyn MTLBuffer>>>;
62
63 #[unsafe(method(gradientForGamma))]
64 #[unsafe(method_family = none)]
65 pub unsafe fn gradientForGamma(&self) -> Retained<ProtocolObject<dyn MTLBuffer>>;
66
67 #[unsafe(method(gradientForBeta))]
68 #[unsafe(method_family = none)]
69 pub unsafe fn gradientForBeta(&self) -> Retained<ProtocolObject<dyn MTLBuffer>>;
70
71 #[unsafe(method(temporaryStateWithCommandBuffer:textureDescriptor:))]
73 #[unsafe(method_family = none)]
74 pub unsafe fn temporaryStateWithCommandBuffer_textureDescriptor(
75 cmd_buf: &ProtocolObject<dyn MTLCommandBuffer>,
76 descriptor: &MTLTextureDescriptor,
77 ) -> Retained<Self>;
78
79 #[unsafe(method(temporaryStateWithCommandBuffer:))]
80 #[unsafe(method_family = none)]
81 pub unsafe fn temporaryStateWithCommandBuffer(
82 cmd_buf: &ProtocolObject<dyn MTLCommandBuffer>,
83 ) -> Retained<Self>;
84
85 #[unsafe(method(temporaryStateWithCommandBuffer:bufferSize:))]
86 #[unsafe(method_family = none)]
87 pub unsafe fn temporaryStateWithCommandBuffer_bufferSize(
88 cmd_buf: &ProtocolObject<dyn MTLCommandBuffer>,
89 buffer_size: usize,
90 ) -> Retained<Self>;
91
92 #[unsafe(method(initWithDevice:textureDescriptor:))]
94 #[unsafe(method_family = init)]
95 pub unsafe fn initWithDevice_textureDescriptor(
96 this: Allocated<Self>,
97 device: &ProtocolObject<dyn MTLDevice>,
98 descriptor: &MTLTextureDescriptor,
99 ) -> Retained<Self>;
100
101 #[unsafe(method(initWithResource:))]
108 #[unsafe(method_family = init)]
109 pub unsafe fn initWithResource(
110 this: Allocated<Self>,
111 resource: Option<&ProtocolObject<dyn MTLResource>>,
112 ) -> Retained<Self>;
113
114 #[unsafe(method(initWithDevice:bufferSize:))]
115 #[unsafe(method_family = init)]
116 pub unsafe fn initWithDevice_bufferSize(
117 this: Allocated<Self>,
118 device: &ProtocolObject<dyn MTLDevice>,
119 buffer_size: usize,
120 ) -> Retained<Self>;
121 );
122}
123
124#[cfg(all(
126 feature = "MPSCore",
127 feature = "MPSNNGradientState",
128 feature = "MPSState"
129))]
130impl MPSCNNInstanceNormalizationGradientState {
131 extern_methods!(
132 #[unsafe(method(init))]
133 #[unsafe(method_family = init)]
134 pub unsafe fn init(this: Allocated<Self>) -> Option<Retained<Self>>;
135
136 #[unsafe(method(initWithDevice:resourceList:))]
143 #[unsafe(method_family = init)]
144 pub unsafe fn initWithDevice_resourceList(
145 this: Allocated<Self>,
146 device: &ProtocolObject<dyn MTLDevice>,
147 resource_list: &MPSStateResourceList,
148 ) -> Retained<Self>;
149
150 #[unsafe(method(temporaryStateWithCommandBuffer:resourceList:))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn temporaryStateWithCommandBuffer_resourceList(
156 command_buffer: &ProtocolObject<dyn MTLCommandBuffer>,
157 resource_list: &MPSStateResourceList,
158 ) -> Retained<Self>;
159
160 #[unsafe(method(initWithResources:))]
172 #[unsafe(method_family = init)]
173 pub unsafe fn initWithResources(
174 this: Allocated<Self>,
175 resources: Option<&NSArray<ProtocolObject<dyn MTLResource>>>,
176 ) -> Retained<Self>;
177 );
178}
179
180#[cfg(all(
182 feature = "MPSCore",
183 feature = "MPSNNGradientState",
184 feature = "MPSState"
185))]
186impl MPSCNNInstanceNormalizationGradientState {
187 extern_methods!(
188 #[unsafe(method(new))]
189 #[unsafe(method_family = new)]
190 pub unsafe fn new() -> Retained<Self>;
191 );
192}
193
194#[cfg(all(
196 feature = "MPSCore",
197 feature = "MPSNNGradientState",
198 feature = "MPSState"
199))]
200pub type MPSCNNInstanceNormalizationGradientStateBatch =
201 NSArray<MPSCNNInstanceNormalizationGradientState>;
202
203extern_protocol!(
204 pub unsafe trait MPSCNNInstanceNormalizationDataSource:
210 NSObjectProtocol + NSCopying
211 {
212 #[unsafe(method(gamma))]
214 #[unsafe(method_family = none)]
215 unsafe fn gamma(&self) -> *mut c_float;
216
217 #[unsafe(method(beta))]
219 #[unsafe(method_family = none)]
220 unsafe fn beta(&self) -> *mut c_float;
221
222 #[unsafe(method(numberOfFeatureChannels))]
223 #[unsafe(method_family = none)]
224 unsafe fn numberOfFeatureChannels(&self) -> NSUInteger;
225
226 #[unsafe(method(label))]
230 #[unsafe(method_family = none)]
231 unsafe fn label(&self) -> Option<Retained<NSString>>;
232
233 #[cfg(all(
234 feature = "MPSCNNNormalizationWeights",
235 feature = "MPSCore",
236 feature = "MPSNNGradientState",
237 feature = "MPSState"
238 ))]
239 #[optional]
266 #[unsafe(method(updateGammaAndBetaWithCommandBuffer:instanceNormalizationStateBatch:))]
267 #[unsafe(method_family = none)]
268 unsafe fn updateGammaAndBetaWithCommandBuffer_instanceNormalizationStateBatch(
269 &self,
270 command_buffer: &ProtocolObject<dyn MTLCommandBuffer>,
271 instance_normalization_state_batch: &MPSCNNInstanceNormalizationGradientStateBatch,
272 ) -> Option<Retained<MPSCNNNormalizationGammaAndBetaState>>;
273
274 #[cfg(all(
275 feature = "MPSCore",
276 feature = "MPSNNGradientState",
277 feature = "MPSState"
278 ))]
279 #[optional]
289 #[unsafe(method(updateGammaAndBetaWithInstanceNormalizationStateBatch:))]
290 #[unsafe(method_family = none)]
291 unsafe fn updateGammaAndBetaWithInstanceNormalizationStateBatch(
292 &self,
293 instance_normalization_state_batch: &MPSCNNInstanceNormalizationGradientStateBatch,
294 ) -> bool;
295
296 #[optional]
301 #[unsafe(method(epsilon))]
302 #[unsafe(method_family = none)]
303 unsafe fn epsilon(&self) -> c_float;
304
305 #[optional]
311 #[unsafe(method(encodeWithCoder:))]
312 #[unsafe(method_family = none)]
313 unsafe fn encodeWithCoder(&self, a_coder: &NSCoder);
314
315 #[optional]
319 #[unsafe(method(initWithCoder:))]
320 #[unsafe(method_family = init)]
321 unsafe fn initWithCoder(
322 this: Allocated<Self>,
323 a_decoder: &NSCoder,
324 ) -> Option<Retained<Self>>;
325
326 #[optional]
327 #[unsafe(method(supportsSecureCoding))]
328 #[unsafe(method_family = none)]
329 unsafe fn supportsSecureCoding() -> bool;
330
331 #[optional]
345 #[unsafe(method(copyWithZone:device:))]
346 #[unsafe(method_family = copy)]
347 unsafe fn copyWithZone_device(
348 &self,
349 zone: *mut NSZone,
350 device: Option<&ProtocolObject<dyn MTLDevice>>,
351 ) -> Retained<Self>;
352
353 #[optional]
358 #[unsafe(method(load))]
359 #[unsafe(method_family = none)]
360 unsafe fn load(&self) -> bool;
361
362 #[optional]
364 #[unsafe(method(purge))]
365 #[unsafe(method_family = none)]
366 unsafe fn purge(&self);
367 }
368);
369
370extern_class!(
371 #[unsafe(super(MPSCNNKernel, MPSKernel, NSObject))]
382 #[derive(Debug, PartialEq, Eq, Hash)]
383 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
384 pub struct MPSCNNInstanceNormalization;
385);
386
387#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
388extern_conformance!(
389 unsafe impl NSCoding for MPSCNNInstanceNormalization {}
390);
391
392#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
393extern_conformance!(
394 unsafe impl NSCopying for MPSCNNInstanceNormalization {}
395);
396
397#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
398unsafe impl CopyingHelper for MPSCNNInstanceNormalization {
399 type Result = Self;
400}
401
402#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
403extern_conformance!(
404 unsafe impl NSObjectProtocol for MPSCNNInstanceNormalization {}
405);
406
407#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
408extern_conformance!(
409 unsafe impl NSSecureCoding for MPSCNNInstanceNormalization {}
410);
411
412#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
413impl MPSCNNInstanceNormalization {
414 extern_methods!(
415 #[unsafe(method(epsilon))]
417 #[unsafe(method_family = none)]
418 pub unsafe fn epsilon(&self) -> c_float;
419
420 #[unsafe(method(setEpsilon:))]
422 #[unsafe(method_family = none)]
423 pub unsafe fn setEpsilon(&self, epsilon: c_float);
424
425 #[unsafe(method(dataSource))]
427 #[unsafe(method_family = none)]
428 pub unsafe fn dataSource(
429 &self,
430 ) -> Retained<ProtocolObject<dyn MPSCNNInstanceNormalizationDataSource>>;
431
432 #[unsafe(method(initWithDevice:dataSource:))]
437 #[unsafe(method_family = init)]
438 pub unsafe fn initWithDevice_dataSource(
439 this: Allocated<Self>,
440 device: &ProtocolObject<dyn MTLDevice>,
441 data_source: &ProtocolObject<dyn MPSCNNInstanceNormalizationDataSource>,
442 ) -> Retained<Self>;
443
444 #[unsafe(method(initWithDevice:))]
446 #[unsafe(method_family = init)]
447 pub unsafe fn initWithDevice(
448 this: Allocated<Self>,
449 device: &ProtocolObject<dyn MTLDevice>,
450 ) -> Retained<Self>;
451
452 #[unsafe(method(initWithCoder:device:))]
470 #[unsafe(method_family = init)]
471 pub unsafe fn initWithCoder_device(
472 this: Allocated<Self>,
473 a_decoder: &NSCoder,
474 device: &ProtocolObject<dyn MTLDevice>,
475 ) -> Option<Retained<Self>>;
476
477 #[deprecated]
483 #[unsafe(method(reloadDataSource:))]
484 #[unsafe(method_family = none)]
485 pub unsafe fn reloadDataSource(
486 &self,
487 data_source: &ProtocolObject<dyn MPSCNNInstanceNormalizationDataSource>,
488 );
489
490 #[unsafe(method(reloadGammaAndBetaFromDataSource))]
492 #[unsafe(method_family = none)]
493 pub unsafe fn reloadGammaAndBetaFromDataSource(&self);
494
495 #[cfg(all(feature = "MPSCNNNormalizationWeights", feature = "MPSState"))]
496 #[unsafe(method(reloadGammaAndBetaWithCommandBuffer:gammaAndBetaState:))]
506 #[unsafe(method_family = none)]
507 pub unsafe fn reloadGammaAndBetaWithCommandBuffer_gammaAndBetaState(
508 &self,
509 command_buffer: &ProtocolObject<dyn MTLCommandBuffer>,
510 gamma_and_beta_state: &MPSCNNNormalizationGammaAndBetaState,
511 );
512
513 #[cfg(all(
514 feature = "MPSImage",
515 feature = "MPSNNGradientState",
516 feature = "MPSState"
517 ))]
518 #[unsafe(method(resultStateForSourceImage:sourceStates:destinationImage:))]
521 #[unsafe(method_family = none)]
522 pub unsafe fn resultStateForSourceImage_sourceStates_destinationImage(
523 &self,
524 source_image: &MPSImage,
525 source_states: Option<&NSArray<MPSState>>,
526 destination_image: &MPSImage,
527 ) -> Option<Retained<MPSCNNInstanceNormalizationGradientState>>;
528
529 #[cfg(all(
530 feature = "MPSImage",
531 feature = "MPSNNGradientState",
532 feature = "MPSState"
533 ))]
534 #[unsafe(method(temporaryResultStateForCommandBuffer:sourceImage:sourceStates:destinationImage:))]
537 #[unsafe(method_family = none)]
538 pub unsafe fn temporaryResultStateForCommandBuffer_sourceImage_sourceStates_destinationImage(
539 &self,
540 command_buffer: &ProtocolObject<dyn MTLCommandBuffer>,
541 source_image: &MPSImage,
542 source_states: Option<&NSArray<MPSState>>,
543 destination_image: &MPSImage,
544 ) -> Option<Retained<MPSCNNInstanceNormalizationGradientState>>;
545 );
546}
547
548#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
550impl MPSCNNInstanceNormalization {
551 extern_methods!(
552 #[unsafe(method(initWithCoder:))]
565 #[unsafe(method_family = init)]
566 pub unsafe fn initWithCoder(
567 this: Allocated<Self>,
568 a_decoder: &NSCoder,
569 ) -> Option<Retained<Self>>;
570 );
571}
572
573#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
575impl MPSCNNInstanceNormalization {
576 extern_methods!(
577 #[unsafe(method(init))]
578 #[unsafe(method_family = init)]
579 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
580
581 #[unsafe(method(new))]
582 #[unsafe(method_family = new)]
583 pub unsafe fn new() -> Retained<Self>;
584 );
585}
586
587extern_class!(
588 #[unsafe(super(MPSCNNGradientKernel, MPSCNNBinaryKernel, MPSKernel, NSObject))]
594 #[derive(Debug, PartialEq, Eq, Hash)]
595 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
596 pub struct MPSCNNInstanceNormalizationGradient;
597);
598
599#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
600extern_conformance!(
601 unsafe impl NSCoding for MPSCNNInstanceNormalizationGradient {}
602);
603
604#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
605extern_conformance!(
606 unsafe impl NSCopying for MPSCNNInstanceNormalizationGradient {}
607);
608
609#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
610unsafe impl CopyingHelper for MPSCNNInstanceNormalizationGradient {
611 type Result = Self;
612}
613
614#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
615extern_conformance!(
616 unsafe impl NSObjectProtocol for MPSCNNInstanceNormalizationGradient {}
617);
618
619#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
620extern_conformance!(
621 unsafe impl NSSecureCoding for MPSCNNInstanceNormalizationGradient {}
622);
623
624#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
625impl MPSCNNInstanceNormalizationGradient {
626 extern_methods!();
627}
628
629#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
631impl MPSCNNInstanceNormalizationGradient {
632 extern_methods!(
633 #[unsafe(method(initWithDevice:))]
641 #[unsafe(method_family = init)]
642 pub unsafe fn initWithDevice(
643 this: Allocated<Self>,
644 device: &ProtocolObject<dyn MTLDevice>,
645 ) -> Retained<Self>;
646
647 #[unsafe(method(initWithCoder:device:))]
665 #[unsafe(method_family = init)]
666 pub unsafe fn initWithCoder_device(
667 this: Allocated<Self>,
668 a_decoder: &NSCoder,
669 device: &ProtocolObject<dyn MTLDevice>,
670 ) -> Option<Retained<Self>>;
671 );
672}
673
674#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
676impl MPSCNNInstanceNormalizationGradient {
677 extern_methods!(
678 #[unsafe(method(initWithCoder:))]
691 #[unsafe(method_family = init)]
692 pub unsafe fn initWithCoder(
693 this: Allocated<Self>,
694 a_decoder: &NSCoder,
695 ) -> Option<Retained<Self>>;
696 );
697}
698
699#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
701impl MPSCNNInstanceNormalizationGradient {
702 extern_methods!(
703 #[unsafe(method(init))]
704 #[unsafe(method_family = init)]
705 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
706
707 #[unsafe(method(new))]
708 #[unsafe(method_family = new)]
709 pub unsafe fn new() -> Retained<Self>;
710 );
711}