pyobjc-framework-MetalFX 11.1__tar.gz → 12.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. pyobjc_framework_metalfx-12.2.2/Lib/MetalFX/_metadata.py +535 -0
  2. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Lib/pyobjc_framework_MetalFX.egg-info/PKG-INFO +6 -5
  3. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Lib/pyobjc_framework_MetalFX.egg-info/SOURCES.txt +8 -4
  4. pyobjc_framework_metalfx-12.2.2/Lib/pyobjc_framework_MetalFX.egg-info/pyobjc-build-info.txt +3 -0
  5. pyobjc_framework_metalfx-12.2.2/Lib/pyobjc_framework_MetalFX.egg-info/requires.txt +2 -0
  6. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Modules/_MetalFX.m +18 -21
  7. pyobjc_framework_metalfx-12.2.2/Modules/_MetalFX_protocols.m +39 -0
  8. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Modules/pyobjc-api.h +6 -3
  9. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Modules/pyobjc-compat.h +56 -98
  10. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/PKG-INFO +6 -5
  11. pyobjc_framework_metalfx-12.2.2/PyObjCTest/test_mtl4fxframeinterpolator.py +8 -0
  12. pyobjc_framework_metalfx-12.2.2/PyObjCTest/test_mtl4fxspatialscaler.py +8 -0
  13. pyobjc_framework_metalfx-12.2.2/PyObjCTest/test_mtl4fxtemporaldenoisedscaler.py +8 -0
  14. pyobjc_framework_metalfx-12.2.2/PyObjCTest/test_mtl4fxtemporalscaler.py +8 -0
  15. pyobjc_framework_metalfx-12.2.2/PyObjCTest/test_mtlfxframeinterpolator.py +250 -0
  16. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/PyObjCTest/test_mtlfxspatialscaler.py +10 -1
  17. pyobjc_framework_metalfx-12.2.2/PyObjCTest/test_mtlfxtemporaldenoisedscaler.py +336 -0
  18. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/PyObjCTest/test_mtlfxtemporalscaler.py +28 -1
  19. pyobjc_framework_metalfx-12.2.2/metadata/raw/arm64-26.5.fwinfo +7321 -0
  20. pyobjc_framework_metalfx-12.2.2/metadata/raw/x86_64-26.5.fwinfo +7321 -0
  21. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/pyobjc_setup.py +5 -4
  22. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/setup.py +1 -1
  23. pyobjc_framework_metalfx-11.1/Lib/MetalFX/_metadata.py +0 -222
  24. pyobjc_framework_metalfx-11.1/Lib/pyobjc_framework_MetalFX.egg-info/pyobjc-build-info.txt +0 -3
  25. pyobjc_framework_metalfx-11.1/Lib/pyobjc_framework_MetalFX.egg-info/requires.txt +0 -2
  26. pyobjc_framework_metalfx-11.1/Modules/_MetalFX_protocols.m +0 -16
  27. pyobjc_framework_metalfx-11.1/metadata/raw/arm64-14.5.fwinfo +0 -2163
  28. pyobjc_framework_metalfx-11.1/metadata/raw/arm64-15.0.fwinfo +0 -2197
  29. pyobjc_framework_metalfx-11.1/metadata/raw/x86_64-14.5.fwinfo +0 -2163
  30. pyobjc_framework_metalfx-11.1/metadata/raw/x86_64-15.0.fwinfo +0 -2197
  31. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Lib/MetalFX/__init__.py +0 -0
  32. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Lib/pyobjc_framework_MetalFX.egg-info/dependency_links.txt +0 -0
  33. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Lib/pyobjc_framework_MetalFX.egg-info/not-zip-safe +0 -0
  34. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/Lib/pyobjc_framework_MetalFX.egg-info/top_level.txt +0 -0
  35. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/License.txt +0 -0
  36. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/MANIFEST.in +0 -0
  37. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/PyObjCTest/__init__.py +0 -0
  38. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/PyObjCTest/test_metalfx.py +0 -0
  39. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/metadata/MetalFX.fwinfo +0 -0
  40. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/metadata/metadata.ini +0 -0
  41. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/pyproject.toml +0 -0
  42. {pyobjc_framework_metalfx-11.1 → pyobjc_framework_metalfx-12.2.2}/setup.cfg +0 -0
@@ -0,0 +1,535 @@
1
+ # This file is generated by objective.metadata
2
+ #
3
+ # Last update: Sun May 24 11:52:55 2026
4
+ #
5
+ # flake8: noqa
6
+
7
+ import objc, sys
8
+ from typing import NewType
9
+
10
+ if sys.maxsize > 2**32:
11
+
12
+ def sel32or64(a, b):
13
+ return b
14
+
15
+ else:
16
+
17
+ def sel32or64(a, b):
18
+ return a
19
+
20
+
21
+ if objc.arch == "arm64":
22
+
23
+ def selAorI(a, b):
24
+ return a
25
+
26
+ else:
27
+
28
+ def selAorI(a, b):
29
+ return b
30
+
31
+
32
+ misc = {}
33
+ constants = """$$"""
34
+ enums = """$MTLFXSpatialScalerColorProcessingModeHDR@2$MTLFXSpatialScalerColorProcessingModeLinear@1$MTLFXSpatialScalerColorProcessingModePerceptual@0$"""
35
+ misc.update(
36
+ {
37
+ "MTLFXSpatialScalerColorProcessingMode": NewType(
38
+ "MTLFXSpatialScalerColorProcessingMode", int
39
+ )
40
+ }
41
+ )
42
+ misc.update({})
43
+ misc.update({})
44
+ r = objc.registerMetaDataForSelector
45
+ objc._updatingMetadata(True)
46
+ try:
47
+ r(
48
+ b"MTLFXFrameInterpolatorDescriptor",
49
+ b"supportsDevice:",
50
+ {"retval": {"type": b"Z"}},
51
+ )
52
+ r(
53
+ b"MTLFXFrameInterpolatorDescriptor",
54
+ b"supportsMetal4FX:",
55
+ {"retval": {"type": b"Z"}},
56
+ )
57
+ r(b"MTLFXSpatialScalerDescriptor", b"supportsDevice:", {"retval": {"type": b"Z"}})
58
+ r(b"MTLFXSpatialScalerDescriptor", b"supportsMetal4FX:", {"retval": {"type": b"Z"}})
59
+ r(
60
+ b"MTLFXTemporalDenoisedScalerDescriptor",
61
+ b"isAutoExposureEnabled",
62
+ {"retval": {"type": b"Z"}},
63
+ )
64
+ r(
65
+ b"MTLFXTemporalDenoisedScalerDescriptor",
66
+ b"isDenoiseStrengthMaskTextureEnabled",
67
+ {"retval": {"type": b"Z"}},
68
+ )
69
+ r(
70
+ b"MTLFXTemporalDenoisedScalerDescriptor",
71
+ b"isReactiveMaskTextureEnabled",
72
+ {"retval": {"type": b"Z"}},
73
+ )
74
+ r(
75
+ b"MTLFXTemporalDenoisedScalerDescriptor",
76
+ b"isSpecularHitDistanceTextureEnabled",
77
+ {"retval": {"type": b"Z"}},
78
+ )
79
+ r(
80
+ b"MTLFXTemporalDenoisedScalerDescriptor",
81
+ b"isTransparencyOverlayTextureEnabled",
82
+ {"retval": {"type": b"Z"}},
83
+ )
84
+ r(
85
+ b"MTLFXTemporalDenoisedScalerDescriptor",
86
+ b"requiresSynchronousInitialization",
87
+ {"retval": {"type": b"Z"}},
88
+ )
89
+ r(
90
+ b"MTLFXTemporalDenoisedScalerDescriptor",
91
+ b"setAutoExposureEnabled:",
92
+ {"arguments": {2: {"type": b"Z"}}},
93
+ )
94
+ r(
95
+ b"MTLFXTemporalDenoisedScalerDescriptor",
96
+ b"setDenoiseStrengthMaskTextureEnabled:",
97
+ {"arguments": {2: {"type": b"Z"}}},
98
+ )
99
+ r(
100
+ b"MTLFXTemporalDenoisedScalerDescriptor",
101
+ b"setReactiveMaskTextureEnabled:",
102
+ {"arguments": {2: {"type": b"Z"}}},
103
+ )
104
+ r(
105
+ b"MTLFXTemporalDenoisedScalerDescriptor",
106
+ b"setRequiresSynchronousInitialization:",
107
+ {"arguments": {2: {"type": b"Z"}}},
108
+ )
109
+ r(
110
+ b"MTLFXTemporalDenoisedScalerDescriptor",
111
+ b"setSpecularHitDistanceTextureEnabled:",
112
+ {"arguments": {2: {"type": b"Z"}}},
113
+ )
114
+ r(
115
+ b"MTLFXTemporalDenoisedScalerDescriptor",
116
+ b"setTransparencyOverlayTextureEnabled:",
117
+ {"arguments": {2: {"type": b"Z"}}},
118
+ )
119
+ r(
120
+ b"MTLFXTemporalDenoisedScalerDescriptor",
121
+ b"supportsDevice:",
122
+ {"retval": {"type": b"Z"}},
123
+ )
124
+ r(
125
+ b"MTLFXTemporalDenoisedScalerDescriptor",
126
+ b"supportsMetal4FX:",
127
+ {"retval": {"type": b"Z"}},
128
+ )
129
+ r(
130
+ b"MTLFXTemporalScalerDescriptor",
131
+ b"isAutoExposureEnabled",
132
+ {"retval": {"type": b"Z"}},
133
+ )
134
+ r(
135
+ b"MTLFXTemporalScalerDescriptor",
136
+ b"isInputContentPropertiesEnabled",
137
+ {"retval": {"type": b"Z"}},
138
+ )
139
+ r(
140
+ b"MTLFXTemporalScalerDescriptor",
141
+ b"isReactiveMaskTextureEnabled",
142
+ {"retval": {"type": b"Z"}},
143
+ )
144
+ r(
145
+ b"MTLFXTemporalScalerDescriptor",
146
+ b"requiresSynchronousInitialization",
147
+ {"retval": {"type": b"Z"}},
148
+ )
149
+ r(
150
+ b"MTLFXTemporalScalerDescriptor",
151
+ b"setAutoExposureEnabled:",
152
+ {"arguments": {2: {"type": b"Z"}}},
153
+ )
154
+ r(
155
+ b"MTLFXTemporalScalerDescriptor",
156
+ b"setInputContentPropertiesEnabled:",
157
+ {"arguments": {2: {"type": b"Z"}}},
158
+ )
159
+ r(
160
+ b"MTLFXTemporalScalerDescriptor",
161
+ b"setReactiveMaskTextureEnabled:",
162
+ {"arguments": {2: {"type": b"Z"}}},
163
+ )
164
+ r(
165
+ b"MTLFXTemporalScalerDescriptor",
166
+ b"setRequiresSynchronousInitialization:",
167
+ {"arguments": {2: {"type": b"Z"}}},
168
+ )
169
+ r(b"MTLFXTemporalScalerDescriptor", b"supportsDevice:", {"retval": {"type": b"Z"}})
170
+ r(
171
+ b"MTLFXTemporalScalerDescriptor",
172
+ b"supportsMetal4FX:",
173
+ {"retval": {"type": b"Z"}},
174
+ )
175
+ r(b"NSObject", b"aspectRatio", {"required": True, "retval": {"type": b"f"}})
176
+ r(b"NSObject", b"colorProcessingMode", {"required": True, "retval": {"type": b"q"}})
177
+ r(b"NSObject", b"colorTexture", {"required": True, "retval": {"type": b"@"}})
178
+ r(b"NSObject", b"colorTextureFormat", {"required": True, "retval": {"type": b"Q"}})
179
+ r(b"NSObject", b"colorTextureUsage", {"required": True, "retval": {"type": b"Q"}})
180
+ r(b"NSObject", b"deltaTime", {"required": True, "retval": {"type": b"f"}})
181
+ r(
182
+ b"NSObject",
183
+ b"denoiseStrengthMaskTexture",
184
+ {"required": True, "retval": {"type": b"@"}},
185
+ )
186
+ r(
187
+ b"NSObject",
188
+ b"denoiseStrengthMaskTextureFormat",
189
+ {"required": True, "retval": {"type": b"Q"}},
190
+ )
191
+ r(
192
+ b"NSObject",
193
+ b"denoiseStrengthMaskTextureUsage",
194
+ {"required": True, "retval": {"type": b"Q"}},
195
+ )
196
+ r(b"NSObject", b"depthTexture", {"required": True, "retval": {"type": b"@"}})
197
+ r(b"NSObject", b"depthTextureFormat", {"required": True, "retval": {"type": b"Q"}})
198
+ r(b"NSObject", b"depthTextureUsage", {"required": True, "retval": {"type": b"Q"}})
199
+ r(
200
+ b"NSObject",
201
+ b"diffuseAlbedoTexture",
202
+ {"required": True, "retval": {"type": b"@"}},
203
+ )
204
+ r(
205
+ b"NSObject",
206
+ b"diffuseAlbedoTextureFormat",
207
+ {"required": True, "retval": {"type": b"Q"}},
208
+ )
209
+ r(
210
+ b"NSObject",
211
+ b"diffuseAlbedoTextureUsage",
212
+ {"required": True, "retval": {"type": b"Q"}},
213
+ )
214
+ r(
215
+ b"NSObject",
216
+ b"encodeToCommandBuffer:",
217
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
218
+ )
219
+ r(b"NSObject", b"exposureTexture", {"required": True, "retval": {"type": b"@"}})
220
+ r(b"NSObject", b"farPlane", {"required": True, "retval": {"type": b"f"}})
221
+ r(b"NSObject", b"fence", {"required": True, "retval": {"type": b"@"}})
222
+ r(b"NSObject", b"fieldOfView", {"required": True, "retval": {"type": b"f"}})
223
+ r(b"NSObject", b"inputContentHeight", {"required": True, "retval": {"type": b"Q"}})
224
+ r(
225
+ b"NSObject",
226
+ b"inputContentMaxScale",
227
+ {"required": True, "retval": {"type": b"f"}},
228
+ )
229
+ r(
230
+ b"NSObject",
231
+ b"inputContentMinScale",
232
+ {"required": True, "retval": {"type": b"f"}},
233
+ )
234
+ r(b"NSObject", b"inputContentWidth", {"required": True, "retval": {"type": b"Q"}})
235
+ r(b"NSObject", b"inputHeight", {"required": True, "retval": {"type": b"Q"}})
236
+ r(b"NSObject", b"inputWidth", {"required": True, "retval": {"type": b"Q"}})
237
+ r(b"NSObject", b"isDepthReversed", {"required": True, "retval": {"type": b"Z"}})
238
+ r(
239
+ b"NSObject",
240
+ b"isUITextureComposited",
241
+ {"required": True, "retval": {"type": b"Z"}},
242
+ )
243
+ r(b"NSObject", b"jitterOffsetX", {"required": True, "retval": {"type": b"f"}})
244
+ r(b"NSObject", b"jitterOffsetY", {"required": True, "retval": {"type": b"f"}})
245
+ r(b"NSObject", b"motionTexture", {"required": True, "retval": {"type": b"@"}})
246
+ r(b"NSObject", b"motionTextureFormat", {"required": True, "retval": {"type": b"Q"}})
247
+ r(b"NSObject", b"motionTextureUsage", {"required": True, "retval": {"type": b"Q"}})
248
+ r(b"NSObject", b"motionVectorScaleX", {"required": True, "retval": {"type": b"f"}})
249
+ r(b"NSObject", b"motionVectorScaleY", {"required": True, "retval": {"type": b"f"}})
250
+ r(b"NSObject", b"nearPlane", {"required": True, "retval": {"type": b"f"}})
251
+ r(b"NSObject", b"normalTexture", {"required": True, "retval": {"type": b"@"}})
252
+ r(b"NSObject", b"normalTextureFormat", {"required": True, "retval": {"type": b"Q"}})
253
+ r(b"NSObject", b"normalTextureUsage", {"required": True, "retval": {"type": b"Q"}})
254
+ r(b"NSObject", b"outputHeight", {"required": True, "retval": {"type": b"Q"}})
255
+ r(b"NSObject", b"outputTexture", {"required": True, "retval": {"type": b"@"}})
256
+ r(b"NSObject", b"outputTextureFormat", {"required": True, "retval": {"type": b"Q"}})
257
+ r(b"NSObject", b"outputTextureUsage", {"required": True, "retval": {"type": b"Q"}})
258
+ r(b"NSObject", b"outputWidth", {"required": True, "retval": {"type": b"Q"}})
259
+ r(b"NSObject", b"preExposure", {"required": True, "retval": {"type": b"f"}})
260
+ r(b"NSObject", b"prevColorTexture", {"required": True, "retval": {"type": b"@"}})
261
+ r(b"NSObject", b"reactiveMaskTexture", {"required": True, "retval": {"type": b"@"}})
262
+ r(
263
+ b"NSObject",
264
+ b"reactiveMaskTextureFormat",
265
+ {"required": True, "retval": {"type": b"Q"}},
266
+ )
267
+ r(
268
+ b"NSObject",
269
+ b"reactiveTextureUsage",
270
+ {"required": True, "retval": {"type": b"Q"}},
271
+ )
272
+ r(b"NSObject", b"reset", {"required": True, "retval": {"type": b"Z"}})
273
+ r(b"NSObject", b"roughnessTexture", {"required": True, "retval": {"type": b"@"}})
274
+ r(
275
+ b"NSObject",
276
+ b"roughnessTextureFormat",
277
+ {"required": True, "retval": {"type": b"Q"}},
278
+ )
279
+ r(
280
+ b"NSObject",
281
+ b"roughnessTextureUsage",
282
+ {"required": True, "retval": {"type": b"Q"}},
283
+ )
284
+ r(
285
+ b"NSObject",
286
+ b"setAspectRatio:",
287
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
288
+ )
289
+ r(
290
+ b"NSObject",
291
+ b"setColorTexture:",
292
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
293
+ )
294
+ r(
295
+ b"NSObject",
296
+ b"setDeltaTime:",
297
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
298
+ )
299
+ r(
300
+ b"NSObject",
301
+ b"setDenoiseStrengthMaskTexture:",
302
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
303
+ )
304
+ r(
305
+ b"NSObject",
306
+ b"setDepthReversed:",
307
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}},
308
+ )
309
+ r(
310
+ b"NSObject",
311
+ b"setDepthTexture:",
312
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
313
+ )
314
+ r(
315
+ b"NSObject",
316
+ b"setDiffuseAlbedoTexture:",
317
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
318
+ )
319
+ r(
320
+ b"NSObject",
321
+ b"setExposureTexture:",
322
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
323
+ )
324
+ r(
325
+ b"NSObject",
326
+ b"setFarPlane:",
327
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
328
+ )
329
+ r(
330
+ b"NSObject",
331
+ b"setFence:",
332
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
333
+ )
334
+ r(
335
+ b"NSObject",
336
+ b"setFieldOfView:",
337
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
338
+ )
339
+ r(
340
+ b"NSObject",
341
+ b"setInputContentHeight:",
342
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}},
343
+ )
344
+ r(
345
+ b"NSObject",
346
+ b"setInputContentWidth:",
347
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}},
348
+ )
349
+ r(
350
+ b"NSObject",
351
+ b"setIsUITextureComposited:",
352
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}},
353
+ )
354
+ r(
355
+ b"NSObject",
356
+ b"setJitterOffsetX:",
357
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
358
+ )
359
+ r(
360
+ b"NSObject",
361
+ b"setJitterOffsetY:",
362
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
363
+ )
364
+ r(
365
+ b"NSObject",
366
+ b"setMotionTexture:",
367
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
368
+ )
369
+ r(
370
+ b"NSObject",
371
+ b"setMotionVectorScaleX:",
372
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
373
+ )
374
+ r(
375
+ b"NSObject",
376
+ b"setMotionVectorScaleY:",
377
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
378
+ )
379
+ r(
380
+ b"NSObject",
381
+ b"setNearPlane:",
382
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
383
+ )
384
+ r(
385
+ b"NSObject",
386
+ b"setNormalTexture:",
387
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
388
+ )
389
+ r(
390
+ b"NSObject",
391
+ b"setOutputTexture:",
392
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
393
+ )
394
+ r(
395
+ b"NSObject",
396
+ b"setPreExposure:",
397
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
398
+ )
399
+ r(
400
+ b"NSObject",
401
+ b"setPrevColorTexture:",
402
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
403
+ )
404
+ r(
405
+ b"NSObject",
406
+ b"setReactiveMaskTexture:",
407
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
408
+ )
409
+ r(
410
+ b"NSObject",
411
+ b"setReset:",
412
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}},
413
+ )
414
+ r(
415
+ b"NSObject",
416
+ b"setRoughnessTexture:",
417
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
418
+ )
419
+ r(
420
+ b"NSObject",
421
+ b"setShouldResetHistory:",
422
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}},
423
+ )
424
+ r(
425
+ b"NSObject",
426
+ b"setSpecularAlbedoTexture:",
427
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
428
+ )
429
+ r(
430
+ b"NSObject",
431
+ b"setSpecularHitDistanceTexture:",
432
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
433
+ )
434
+ r(
435
+ b"NSObject",
436
+ b"setTransparencyOverlayTexture:",
437
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
438
+ )
439
+ r(
440
+ b"NSObject",
441
+ b"setUITexture:",
442
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
443
+ )
444
+ r(
445
+ b"NSObject",
446
+ b"setViewToClipMatrix:",
447
+ {
448
+ "full_signature": b"v@:{simd_float4x4=[4<4f>]}",
449
+ "required": True,
450
+ "retval": {"type": b"v"},
451
+ "arguments": {2: {"type": b"{simd_float4x4=[4<4f>]}"}},
452
+ },
453
+ )
454
+ r(
455
+ b"NSObject",
456
+ b"setWorldToViewMatrix:",
457
+ {
458
+ "full_signature": b"v@:{simd_float4x4=[4<4f>]}",
459
+ "required": True,
460
+ "retval": {"type": b"v"},
461
+ "arguments": {2: {"type": b"{simd_float4x4=[4<4f>]}"}},
462
+ },
463
+ )
464
+ r(b"NSObject", b"shouldResetHistory", {"required": True, "retval": {"type": b"Z"}})
465
+ r(
466
+ b"NSObject",
467
+ b"specularAlbedoTexture",
468
+ {"required": True, "retval": {"type": b"@"}},
469
+ )
470
+ r(
471
+ b"NSObject",
472
+ b"specularAlbedoTextureFormat",
473
+ {"required": True, "retval": {"type": b"Q"}},
474
+ )
475
+ r(
476
+ b"NSObject",
477
+ b"specularAlbedoTextureUsage",
478
+ {"required": True, "retval": {"type": b"Q"}},
479
+ )
480
+ r(
481
+ b"NSObject",
482
+ b"specularHitDistanceTexture",
483
+ {"required": True, "retval": {"type": b"@"}},
484
+ )
485
+ r(
486
+ b"NSObject",
487
+ b"specularHitDistanceTextureFormat",
488
+ {"required": True, "retval": {"type": b"Q"}},
489
+ )
490
+ r(
491
+ b"NSObject",
492
+ b"specularHitDistanceTextureUsage",
493
+ {"required": True, "retval": {"type": b"Q"}},
494
+ )
495
+ r(
496
+ b"NSObject",
497
+ b"transparencyOverlayTexture",
498
+ {"required": True, "retval": {"type": b"@"}},
499
+ )
500
+ r(
501
+ b"NSObject",
502
+ b"transparencyOverlayTextureFormat",
503
+ {"required": True, "retval": {"type": b"Q"}},
504
+ )
505
+ r(
506
+ b"NSObject",
507
+ b"transparencyOverlayTextureUsage",
508
+ {"required": True, "retval": {"type": b"Q"}},
509
+ )
510
+ r(b"NSObject", b"uiTexture", {"required": True, "retval": {"type": b"@"}})
511
+ r(b"NSObject", b"uiTextureFormat", {"required": True, "retval": {"type": b"Q"}})
512
+ r(b"NSObject", b"uiTextureUsage", {"required": True, "retval": {"type": b"Q"}})
513
+ r(
514
+ b"NSObject",
515
+ b"viewToClipMatrix",
516
+ {
517
+ "full_signature": b"{simd_float4x4=[4<4f>]}@:",
518
+ "required": True,
519
+ "retval": {"type": b"{simd_float4x4=[4<4f>]}"},
520
+ },
521
+ )
522
+ r(
523
+ b"NSObject",
524
+ b"worldToViewMatrix",
525
+ {
526
+ "full_signature": b"{simd_float4x4=[4<4f>]}@:",
527
+ "required": True,
528
+ "retval": {"type": b"{simd_float4x4=[4<4f>]}"},
529
+ },
530
+ )
531
+ finally:
532
+ objc._updatingMetadata(False)
533
+ expressions = {}
534
+
535
+ # END OF FILE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-MetalFX
3
- Version: 11.1
3
+ Version: 12.2.2
4
4
  Summary: Wrappers for the framework MetalFX on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,20 +17,21 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
24
23
  Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
25
+ Classifier: Programming Language :: Python :: 3.15
26
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
27
28
  Classifier: Programming Language :: Objective C
28
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
30
  Classifier: Topic :: Software Development :: User Interfaces
30
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
31
32
  Description-Content-Type: text/x-rst; charset=UTF-8
32
- Requires-Dist: pyobjc-core>=11.1
33
- Requires-Dist: pyobjc-framework-Metal>=11.1
33
+ Requires-Dist: pyobjc-core>=12.2.2
34
+ Requires-Dist: pyobjc-framework-Metal>=12.2.2
34
35
  Dynamic: author
35
36
  Dynamic: author-email
36
37
  Dynamic: classifier
@@ -18,11 +18,15 @@ Modules/pyobjc-api.h
18
18
  Modules/pyobjc-compat.h
19
19
  PyObjCTest/__init__.py
20
20
  PyObjCTest/test_metalfx.py
21
+ PyObjCTest/test_mtl4fxframeinterpolator.py
22
+ PyObjCTest/test_mtl4fxspatialscaler.py
23
+ PyObjCTest/test_mtl4fxtemporaldenoisedscaler.py
24
+ PyObjCTest/test_mtl4fxtemporalscaler.py
25
+ PyObjCTest/test_mtlfxframeinterpolator.py
21
26
  PyObjCTest/test_mtlfxspatialscaler.py
27
+ PyObjCTest/test_mtlfxtemporaldenoisedscaler.py
22
28
  PyObjCTest/test_mtlfxtemporalscaler.py
23
29
  metadata/MetalFX.fwinfo
24
30
  metadata/metadata.ini
25
- metadata/raw/arm64-14.5.fwinfo
26
- metadata/raw/arm64-15.0.fwinfo
27
- metadata/raw/x86_64-14.5.fwinfo
28
- metadata/raw/x86_64-15.0.fwinfo
31
+ metadata/raw/arm64-26.5.fwinfo
32
+ metadata/raw/x86_64-26.5.fwinfo
@@ -0,0 +1,3 @@
1
+ macOS 26.6 (25G70)
2
+ Apple clang version 21.0.0 (clang-2100.1.1.101)
3
+ SDK: macOS 26.5
@@ -0,0 +1,2 @@
1
+ pyobjc-core>=12.2.2
2
+ pyobjc-framework-Metal>=12.2.2
@@ -14,54 +14,51 @@ static PyMethodDef mod_methods[] = {
14
14
  {0, 0, 0, 0} /* sentinel */
15
15
  };
16
16
 
17
- static int mod_exec_module(PyObject* m)
17
+ static int
18
+ mod_exec_module(PyObject* m)
18
19
  {
19
20
  return 0;
20
21
  }
21
22
 
22
23
  static struct PyModuleDef_Slot mod_slots[] = {
23
- {
24
- .slot = Py_mod_exec,
25
- .value = (void*)mod_exec_module
26
- },
24
+ {.slot = Py_mod_exec, .value = (void*)mod_exec_module},
27
25
  #if PY_VERSION_HEX >= 0x030c0000
28
26
  {
29
27
  /* This extension does not use the CPython API other than initializing
30
28
  * the module, hence is safe with subinterpreters and per-interpreter
31
29
  * GILs
32
30
  */
33
- .slot = Py_mod_multiple_interpreters,
31
+ .slot = Py_mod_multiple_interpreters,
34
32
  .value = Py_MOD_PER_INTERPRETER_GIL_SUPPORTED,
35
33
  },
36
34
  #endif
37
35
  #if PY_VERSION_HEX >= 0x030d0000
38
36
  {
39
37
  /* The code in this extension should be safe to use without the GIL */
40
- .slot = Py_mod_gil,
38
+ .slot = Py_mod_gil,
41
39
  .value = Py_MOD_GIL_NOT_USED,
42
40
  },
43
41
  #endif
44
- { /* Sentinel */
45
- .slot = 0,
46
- .value = 0
47
- }
48
- };
42
+ {/* Sentinel */
43
+ .slot = 0,
44
+ .value = 0}};
49
45
 
50
46
  static struct PyModuleDef mod_module = {
51
- .m_base = PyModuleDef_HEAD_INIT,
52
- .m_name = "_MetalFX",
53
- .m_doc = NULL,
54
- .m_size = 0,
55
- .m_methods = mod_methods,
56
- .m_slots = mod_slots,
47
+ .m_base = PyModuleDef_HEAD_INIT,
48
+ .m_name = "_MetalFX",
49
+ .m_doc = NULL,
50
+ .m_size = 0,
51
+ .m_methods = mod_methods,
52
+ .m_slots = mod_slots,
57
53
  .m_traverse = NULL,
58
- .m_clear = NULL,
59
- .m_free = NULL,
54
+ .m_clear = NULL,
55
+ .m_free = NULL,
60
56
  };
61
57
 
62
58
  PyObject* PyInit__MetalFX(void);
63
59
 
64
- PyObject* __attribute__((__visibility__("default"))) PyInit__MetalFX(void)
60
+ PyObject* __attribute__((__visibility__("default")))
61
+ PyInit__MetalFX(void)
65
62
  {
66
63
  return PyModuleDef_Init(&mod_module);
67
64
  }