-
Notifications
You must be signed in to change notification settings - Fork 576
CoreImage iOS xcode27.0 b5
Alex Soto edited this page Aug 10, 2026
·
1 revision
#CoreImage.framework
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h 2026-07-12 23:21:42
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h 2026-08-04 00:07:05
@@ -379,6 +379,7 @@
inputs:(nullable NSArray<CIImage*>*)inputs
arguments:(nullable NSDictionary<NSString*,id>*)args
error:(NSError **)error
+ NS_SWIFT_NAME(apply(tiledExtent:inputs:arguments:))
API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
@end
@@ -544,6 +545,7 @@
format:(OSType)format
width:(size_t)width
height:(size_t)height
+ NS_SWIFT_NAME(temporarySurface(identifier:format:width:height:))
API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
/// Returns a temporary CVPixelBuffer that your Core Image Processor Kernel can use as scratch storage during processing.
@@ -574,7 +576,8 @@
width:(size_t)width
height:(size_t)height
attributes:(nullable NSDictionary *)attributes
-API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+ NS_SWIFT_NAME(temporaryPixelBuffer(identifier:format:width:height:attributes:))
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos) CF_RETURNS_NOT_RETAINED;
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h 2026-07-11 03:20:34
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h 2026-08-04 12:03:53
@@ -72,41 +72,42 @@
#endif
{
// Returns the pixel value produced from sampler at the position p, where p is specified in sampler space.
- float4 sample(float2 p) const;
+ float4 sample(float2 p) const thread;
// Returns the position in the coordinate space of the source that is associated with the position defined in working-space coordinates.
- float2 transform(float2 p) const;
+ float2 transform(float2 p) const thread;
// Returns the position, in sampler space, of the sampler that is associated with the current output pixel (that is, after any transformation matrix
// associated with sampler is applied). The sample space refers to the coordinate space of that you are texturing from. Note that if your source data is tiled,
// the sample coordinate will have an offset (dx/dy). You can convert a destination location to the sampler location using the transform function.
- float2 coord() const;
+ float2 coord() const thread;
// Returns the extent of the sampler in world coordinates, as a four-element vector [x, y, width, height].
- float4 extent() const;
- inline float2 origin() const { return extent().xy; }
- inline float2 size() const { return extent().zw; }
+ float4 extent() const thread;
+ inline float2 origin() const thread { return extent().xy; }
+ inline float2 size() const thread { return extent().zw; }
+
#ifdef __CIKERNEL_METAL_SUPPORTS_GATHER__
// Returns four samples (placed in CCW order starting with sample to the lower left) that would be used for bilinear interpolation when sampling at the position p,
// where p is specified in sampler space.
- float4 gatherX(float2 p) const;
- float4 gatherY(float2 p) const;
- float4 gatherZ(float2 p) const;
- float4 gatherW(float2 p) const;
-
+ float4 gatherX(float2 p) const thread;
+ float4 gatherY(float2 p) const thread;
+ float4 gatherZ(float2 p) const thread;
+ float4 gatherW(float2 p) const thread;
+
// Returns four (unordered) samples that would be used for bilinear interpolation when sampling at the position p, where p is specified in sampler space.
- float4 gatherX_unordered(float2 p) const;
- float4 gatherY_unordered(float2 p) const;
- float4 gatherZ_unordered(float2 p) const;
- float4 gatherW_unordered(float2 p) const;
+ float4 gatherX_unordered(float2 p) const thread;
+ float4 gatherY_unordered(float2 p) const thread;
+ float4 gatherZ_unordered(float2 p) const thread;
+ float4 gatherW_unordered(float2 p) const thread;
#endif
private:
#if __CIKERNEL_METAL_VERSION__ >= 300
friend Sampler make_sampler(texture2d<float, access::sample> t, metal::sampler s, constant float4x4& m, float2 dc );
- Sampler(texture2d<float, access::sample> t_, metal::sampler s_, constant float4x4& m_, float2 dc_)
+ Sampler(texture2d<float, access::sample> t_, metal::sampler s_, constant float4x4& m_, float2 dc_) thread
: t(t_), s(s_),m(m_), dc(dc_) {}
#endif
@@ -124,39 +125,41 @@
#endif
{
// Returns the pixel value produced from sampler at the position p, where p is specified in sampler space.
- half4 sample(float2 p) const;
+ half4 sample(float2 p) const thread;
// Returns the position in the coordinate space of the source that is associated with the position defined in working-space coordinates.
- float2 transform(float2 p) const;
+ float2 transform(float2 p) const thread;
// Returns the position, in sampler space, of the sampler that is associated with the current output pixel (that is, after any transformation matrix
// associated with sampler is applied). The sample space refers to the coordinate space of that you are texturing from. Note that if your source data is tiled,
// the sample coordinate will have an offset (dx/dy). You can convert a destination location to the sampler location using the transform function.
- float2 coord() const;
+ float2 coord() const thread;
// Returns the extent of the sampler in world coordinates, as a four-element vector [x, y, width, height].
- float4 extent() const;
- inline float2 origin() const { return extent().xy; }
- inline float2 size() const { return extent().zw; }
+ float4 extent() const thread;
+ inline float2 origin() const thread { return extent().xy; }
+ inline float2 size() const thread { return extent().zw; }
+
// Returns four samples (placed in CCW order starting with sample to the lower left) that would be used for bilinear interpolation when sampling at the position p,
// where p is specified in sampler space.
- half4 gatherX(float2 p) const;
- half4 gatherY(float2 p) const;
- half4 gatherZ(float2 p) const;
- half4 gatherW(float2 p) const;
+ half4 gatherX(float2 p) const thread;
+ half4 gatherY(float2 p) const thread;
+ half4 gatherZ(float2 p) const thread;
+ half4 gatherW(float2 p) const thread;
+
// Returns four (unordered) samples that would be used for bilinear interpolation when sampling at the position p, where p is specified in sampler space.
- half4 gatherX_unordered(float2 p) const;
- half4 gatherY_unordered(float2 p) const;
- half4 gatherZ_unordered(float2 p) const;
- half4 gatherW_unordered(float2 p) const;
+ half4 gatherX_unordered(float2 p) const thread;
+ half4 gatherY_unordered(float2 p) const thread;
+ half4 gatherZ_unordered(float2 p) const thread;
+ half4 gatherW_unordered(float2 p) const thread;
private:
#if __CIKERNEL_METAL_VERSION__ >= 300
friend Sampler_h make_sampler(texture2d<half, access::sample> t, metal::sampler s, constant float4x4& m, float2 dc );
- Sampler_h(texture2d<half, access::sample> t_, metal::sampler s_, constant float4x4& m_, float2 dc_)
+ Sampler_h(texture2d<half, access::sample> t_, metal::sampler s_, constant float4x4& m_, float2 dc_) thread
: t(t_), s(s_),m(m_), dc(dc_) {}
#endif
@@ -194,7 +197,7 @@
{
// Returns the position, in working space coordinates, of the pixel currently being computed.
// The destination space refers to the coordinate space of the image you are rendering.
- inline float2 coord() const { return c; }
+ inline float2 coord() const thread { return c; }
private:
float2 c;
@@ -211,15 +214,15 @@
{
// Returns the position, in working space coordinates, of the pixel currently being computed.
// The destination space refers to the coordinate space of the image you are rendering.
- inline float2 coord() const { return c; }
+ inline float2 coord() const thread { return c; }
// Writes 4 color values to the destination texture for the current 2x2 group of pixels.
- void write(float4 v0, float4 v1, float4 v2, float4 v3);
+ void write(float4 v0, float4 v1, float4 v2, float4 v3) thread;
private:
#if __CIKERNEL_METAL_VERSION__ >= 300
friend group::Destination make_destination (float2 c, uint2 gid, float4 r, float4x4 m, metal::texture2d<float, access::write> t );
- Destination(float2 c_, uint2 gid_, float4 r_, float4x4 m_, texture2d<float, access::write> t_) : c(c_), gid(gid_), r(r_), m(m_), t(t_) {}
+ Destination(float2 c_, uint2 gid_, float4 r_, float4x4 m_, texture2d<float, access::write> t_) thread : c(c_), gid(gid_), r(r_), m(m_), t(t_) {}
#endif
float2 c;
@@ -237,15 +240,15 @@
{
// Returns the position, in working space coordinates, of the pixel currently being computed.
// The destination space refers to the coordinate space of the image you are rendering.
- inline float2 coord() const { return c; }
+ inline float2 coord() const thread { return c; }
// Writes 4 color values to the destination texture for the current 2x2 group of pixels.
- void write(half4 v0, half4 v1, half4 v2, half4 v3);
+ void write(half4 v0, half4 v1, half4 v2, half4 v3) thread;
private:
#if __CIKERNEL_METAL_VERSION__ >= 300
friend group::Destination_h make_destination (float2 c, uint2 gid, float4 r, float4x4 m, metal::texture2d<half, access::write> t );
- Destination_h(float2 c_, uint2 gid_, float4 r_, float4x4 m_, texture2d<half, access::write> t_) : c(c_), gid(gid_), r(r_), m(m_), t(t_) {}
+ Destination_h(float2 c_, uint2 gid_, float4 r_, float4x4 m_, texture2d<half, access::write> t_) thread : c(c_), gid(gid_), r(r_), m(m_), t(t_) {}
#endif
float2 c;
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h 2026-07-11 04:10:28
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h 2026-08-03 23:59:39
@@ -17,6 +17,7 @@
@class NSURL;
@class NSDictionary;
@class NSData;
+@class NSProgress;
NS_ASSUME_NONNULL_BEGIN
@@ -38,7 +39,19 @@
@property(class, readonly) NSArray<NSString*>* supportedCameraModels;
/* Returns a NSArray containing the names of all supported camera models that support the specified decoder version. */
-+ (NSArray<NSString*>*) supportedCameraModelsWithVersion:(CIRAWDecoderVersion)version API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
++ (NSArray<NSString*>*) supportedCameraModelsWithVersion:(CIRAWDecoderVersion)version
+ NS_SWIFT_NAME(supportedCameraModels(version:))
+ API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0));
+
+/* Downloads any on-demand resources required to decode this filter's image using its current decoderVersion, if they aren't already present.
+ Returns an NSProgress that can be used to track or cancel the download.
+ If 'timeout' elapses before the download finishes, completionHandler is called with a timeout error.
+ completionHandler is called with a nil error on success (whether or not a download was actually needed), or a non-nil error if the download failed or timed out.
+ The completion handler is called on a queue of CoreImage's choosing; dispatch to your own queue if you need one (e.g. the main queue for UI work). */
+- (NSProgress *) downloadResourcesWithTimeout:(NSTimeInterval)timeout
+ completionHandler:(void (^)(NSError * _Nullable error))completionHandler
+ NS_SWIFT_NAME(downloadResources(timeout:completionHandler:))
+ API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0));
/* Array of all supported decoder versions for the given image type, sorted in increasingly newer order. All entries would represent a valid version identifier set to 'decoderVersion'.*/
@property(readonly) NSArray<CIRAWDecoderVersion>* supportedDecoderVersions;