-
Notifications
You must be signed in to change notification settings - Fork 568
CoreImage iOS xcode27.0 b1
Alex Soto edited this page Jun 9, 2026
·
1 revision
#CoreImage.framework
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h 2026-04-18 19:40:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h 2026-05-28 02:08:59
@@ -111,9 +111,9 @@
/// The supported values for the working pixel format are:
/// ``CIFormat`` | Notes
/// ------------------- | --------------
-/// ``kCIFormatRGBA8`` | Uses less memory but has less precision an range
-/// ``kCIFormatRGBAh`` | Uses 8 bytes per pixel, supports HDR
-/// ``kCIFormatRGBAf`` | Only on macOS
+/// ``kCIFormatRGBA8`` | Uses 4 bytes per pixel. Only supporrts SDR and has less precision.
+/// ``kCIFormatRGBAh`` | Uses 8 bytes per pixel. Supports HDR.
+/// ``kCIFormatRGBAf`` | Uses 16 bytes per pixel. Only available on macOS
///
/// If this option is not specified, then the default is ``kCIFormatRGBAh``.
///
@@ -208,6 +208,12 @@
///
CORE_IMAGE_EXPORT CIContextOption const kCIContextName NS_AVAILABLE(10_14,12_0);
+/// A number value to control the maximum memory in megabytes that the context allocates for render tasks.
+///
+/// Larger values could increase memory footprint while smaller values could reduce performance.
+///
+CORE_IMAGE_EXPORT CIContextOption const kCIContextMemoryLimit NS_AVAILABLE(14_0, 17_0);
+
/// A Core Video Metal texture cache object to improve the performance of Core Image context
/// renders that use Core Video pixel buffers.
///
@@ -218,7 +224,7 @@
///
/// It is the client's responsibility to flush the cache when appropriate.
///
-CORE_IMAGE_EXPORT CIContextOption const kCIContextCVMetalTextureCache NS_AVAILABLE(16_0,19_0);
+CORE_IMAGE_EXPORT CIContextOption const kCIContextCVMetalTextureCache NS_AVAILABLE(26_0,26_0);
#pragma mark - contextWithCGLContext
@@ -343,12 +349,6 @@
///
@property (nonatomic, readonly) CIFormat workingFormat NS_AVAILABLE(10_11,9_0);
-/// A number value to control the maximum memory in megabytes that the context allocates for render tasks.
-///
-/// Larger values could increase memory footprint while smaller values could reduce performance.
-///
-CORE_IMAGE_EXPORT CIContextOption const kCIContextMemoryLimit NS_AVAILABLE(14_0, 17_0);
-
#pragma mark - render methods
/* DEPRECATED, please use drawImage:inRect:fromRect: instead.
@@ -569,7 +569,7 @@
colorSpace:(nullable CGColorSpaceRef)colorSpace
deferred:(BOOL)deferred
calculateHDRStats:(BOOL)calculateHDRStats
-CF_RETURNS_RETAINED NS_AVAILABLE(16_0,19_0);
+CF_RETURNS_RETAINED NS_AVAILABLE(26_0,26_0);
@end
@@ -587,11 +587,11 @@
/// - surface: A mutable `IOSurfaceRef` for which to calculate and attach statistics.
///
- (void) calculateHDRStatsForIOSurface:(IOSurfaceRef)surface
-NS_AVAILABLE(16_0,19_0);
+NS_AVAILABLE(26_0,26_0);
/// Given a CVPixelBuffer, use the receiving Core Image context to calculate its
/// HDR statistics (content headroom and content average light level)
-/// and then update the buffers's attachments to store the values.
+/// and then update the buffer's attachments to store the values.
///
/// If the `CVPixelBuffer` has a Clean Aperture rectangle then only pixels within
/// that rectangle are considered.
@@ -600,7 +600,7 @@
/// - buffer: A mutable `CVPixelBuffer` for which to calculate and attach statistics.
///
- (void) calculateHDRStatsForCVPixelBuffer:(CVPixelBufferRef)buffer
-NS_AVAILABLE(16_0,19_0);
+NS_AVAILABLE(26_0,26_0);
/// Given a Core Graphics image, use the receiving Core Image context to calculate its
/// HDR statistics (content headroom and content average light level)
@@ -612,7 +612,7 @@
/// Returns a new `CGImage` instance that has the calculated statistics attached.
///
- (CGImageRef) calculateHDRStatsForCGImage:(CGImageRef)cgimage
-CF_RETURNS_RETAINED NS_AVAILABLE(16_0,19_0);
+CF_RETURNS_RETAINED NS_AVAILABLE(26_0,26_0);
/// Given a Core Image image, use the receiving Core Image context to calculate its
/// HDR statistics (content headroom and content average light level)
@@ -626,7 +626,7 @@
/// Returns a new ``CIImage`` instance that has the calculated statistics attached.
///
- (nullable CIImage*) calculateHDRStatsForImage:(CIImage*)image
-NS_AVAILABLE(16_0,19_0);
+NS_AVAILABLE(26_0,26_0);
@end
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h 2026-04-18 19:40:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h 2026-05-23 02:34:52
@@ -192,12 +192,12 @@
/// A key to get or set the scalar count value of a Core Image filter.
///
/// The value for this key needs to be an integer `NSNumber` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputCountKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputCountKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the scalar threshold value of a Core Image filter.
///
/// The value for this key needs to be an `NSNumber` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputThresholdKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputThresholdKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the scalar time value of a Core Image filter.
///
@@ -229,12 +229,12 @@
/// A key to get or set the geometric radius value of a Core Image filter.
///
/// The value for this key needs to be an `NSNumber` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputRadius0Key NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputRadius0Key NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the geometric radius value of a Core Image filter.
///
/// The value for this key needs to be an `NSNumber` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputRadius1Key NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputRadius1Key NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the geometric angle value of a Core Image filter. Typically the angle is in radians.
///
@@ -279,17 +279,17 @@
/// A key to get or set a color value of a Core Image filter.
///
/// The value for this key needs to be a ``CIColor`` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputColor0Key NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputColor0Key NS_AVAILABLE(26_0, 26_0);
/// A key to get or set a color value of a Core Image filter.
///
/// The value for this key needs to be a ``CIColor`` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputColor1Key NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputColor1Key NS_AVAILABLE(26_0, 26_0);
/// A key to get or set a color space value of a Core Image filter.
///
/// The value for this key needs to be a `CGColorSpace` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputColorSpaceKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputColorSpaceKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the scalar brightness value of a Core Image filter.
///
@@ -304,12 +304,12 @@
/// A key to get or set the boolean behavior of a Core Image filter that specifies if the filter should extrapolate a table beyond the defined range.
///
/// The value for this key needs to be an `NSNumber` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputExtrapolateKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputExtrapolateKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the boolean behavior of a Core Image filter that specifies if the filter should operate in linear or perceptual colors.
///
/// The value for this key needs to be an `NSNumber` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputPerceptualKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputPerceptualKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the scalar bias value of a Core Image filter.
///
@@ -319,7 +319,7 @@
/// A key to get or set the vector bias value of a Core Image filter.
///
/// The value for this key needs to be a ``CIVector`` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputBiasVectorKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputBiasVectorKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the vector weights value of a convolution Core Image filter.
///
@@ -354,12 +354,12 @@
/// A key to get or set the backside image for a transition Core Image filter.
///
/// The value for this key needs to be a ``CIImage`` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputBacksideImageKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputBacksideImageKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the palette image for a Core Image filter.
///
/// The value for this key needs to be a 1 pixel tall ``CIImage`` instance.
-CORE_IMAGE_EXPORT NSString * const kCIInputPaletteImageKey NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputPaletteImageKey NS_AVAILABLE(26_0, 26_0);
/// A key to get or set the vector extent value of a Core Image filterthat defines the extent of the effect.
/// The value for this key needs to be a ``CIVector`` instance.
@@ -367,11 +367,11 @@
/// A key to get or set the coordinate value of a Core Image filter.
/// The value for this key needs to be a ``CIVector`` instance containing the `x,y` coordinate.
-CORE_IMAGE_EXPORT NSString * const kCIInputPoint0Key NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputPoint0Key NS_AVAILABLE(26_0, 26_0);
/// A key to get or set a coordinate value of a Core Image filter.
/// The value for this key needs to be a ``CIVector`` instance containing the `x,y` coordinate.
-CORE_IMAGE_EXPORT NSString * const kCIInputPoint1Key NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT NSString * const kCIInputPoint1Key NS_AVAILABLE(26_0, 26_0);
/// A key to get or set a coordinate value of a Core Image filter.
/// The value for this key needs to be a ``CIVector`` instance containing the `x,y` coordinate.
@@ -387,20 +387,20 @@
/// Use Standard dynamic range.
///
/// Images with `contentHeadroom` metadata will be tone mapped to a maximum pixel value of 1.0.
-CORE_IMAGE_EXPORT CIDynamicRangeOption const kCIDynamicRangeStandard NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT CIDynamicRangeOption const kCIDynamicRangeStandard NS_AVAILABLE(26_0, 26_0);
/// Use extended dynamic range, but brightness is modulated to optimize for
/// co-existence with other composited content.
///
/// For best results, images should contain `contentAverageLightLevel` metadata.
-CORE_IMAGE_EXPORT CIDynamicRangeOption const kCIDynamicRangeConstrainedHigh NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT CIDynamicRangeOption const kCIDynamicRangeConstrainedHigh NS_AVAILABLE(26_0, 26_0);
/// Use High dynamic range.
///
/// The provides the best HDR quality and needs to be reserved
/// for situations where the user is focused on the media, such as larger views in
/// an image editing/viewing app, or annotating/drawing with HDR colors
-CORE_IMAGE_EXPORT CIDynamicRangeOption const kCIDynamicRangeHigh NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT CIDynamicRangeOption const kCIDynamicRangeHigh NS_AVAILABLE(26_0, 26_0);
@class CIKernel, CIImage;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h 2026-04-18 19:40:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h 2026-05-28 02:23:54
@@ -743,7 +743,7 @@
/// A vector containing the position of the fifth point of the tone curve.
@property (nonatomic) CGPoint point4;
/// If true, then the color effect will be extrapolated if the input image contains RGB component values outside the range 0.0 to 1.0.
- @property (nonatomic) bool extrapolate NS_AVAILABLE(16_0, 19_0);
+ @property (nonatomic) bool extrapolate NS_AVAILABLE(26_0, 26_0);
@end
/// The protocol for the Tone Map Headroom filter.
@@ -1742,7 +1742,7 @@
/// The distance from the center of the effect.
@property (nonatomic) float radius;
/// A value to control the smoothness of the transition between the curved and linear edges of the shape.
- @property (nonatomic) float smoothness NS_AVAILABLE(16_0, 19_0);
+ @property (nonatomic) float smoothness NS_AVAILABLE(26_0, 26_0);
/// A color.
@property (nonatomic, retain) CIColor *color;
@end
@@ -1756,7 +1756,7 @@
/// The distance from the center of the effect.
@property (nonatomic) float radius;
/// A value to control the smoothness of the transition between the curved and linear edges of the shape.
- @property (nonatomic) float smoothness NS_AVAILABLE(16_0, 19_0);
+ @property (nonatomic) float smoothness NS_AVAILABLE(26_0, 26_0);
/// A color.
@property (nonatomic, retain) CIColor *color;
/// The width in pixels of the effect.
@@ -2457,12 +2457,12 @@
@interface CIFilter (Builtins)
// CICategoryGradient
-+ (CIFilter<CIDistanceGradientFromRedMask>*) distanceGradientFromRedMaskFilter NS_AVAILABLE(16_0, 19_0);
++ (CIFilter<CIDistanceGradientFromRedMask>*) distanceGradientFromRedMaskFilter NS_AVAILABLE(26_0, 26_0);
+ (CIFilter<CIGaussianGradient>*) gaussianGradientFilter;
+ (CIFilter<CIHueSaturationValueGradient>*) hueSaturationValueGradientFilter;
+ (CIFilter<CILinearGradient>*) linearGradientFilter;
+ (CIFilter<CIRadialGradient>*) radialGradientFilter;
-+ (CIFilter<CISignedDistanceGradientFromRedMask>*) signedDistanceGradientFromRedMaskFilter NS_AVAILABLE(16_0, 19_0);
++ (CIFilter<CISignedDistanceGradientFromRedMask>*) signedDistanceGradientFromRedMaskFilter NS_AVAILABLE(26_0, 26_0);
+ (CIFilter<CISmoothLinearGradient>*) smoothLinearGradientFilter;
// CICategorySharpen
@@ -2550,7 +2550,7 @@
+ (CIFilter<CIHueAdjust>*) hueAdjustFilter;
+ (CIFilter<CILinearToSRGBToneCurve>*) linearToSRGBToneCurveFilter;
+ (CIFilter<CISRGBToneCurveToLinear>*) sRGBToneCurveToLinearFilter;
-+ (CIFilter<CISystemToneMap>*) systemToneMapFilter NS_AVAILABLE(16_0, 19_0);
++ (CIFilter<CISystemToneMap>*) systemToneMapFilter NS_AVAILABLE(26_0, 26_0);
+ (CIFilter<CITemperatureAndTint>*) temperatureAndTintFilter;
+ (CIFilter<CIToneCurve>*) toneCurveFilter;
+ (CIFilter<CIToneMapHeadroom>*) toneMapHeadroomFilter NS_AVAILABLE(15_0, 18_0);
@@ -2634,7 +2634,7 @@
+ (CIFilter<CIAztecCodeGenerator>*) aztecCodeGeneratorFilter;
+ (CIFilter<CIBarcodeGenerator>*) barcodeGeneratorFilter;
+ (CIFilter<CIBlurredRectangleGenerator>*) blurredRectangleGeneratorFilter NS_AVAILABLE(14_0, 17_0);
-+ (CIFilter<CIBlurredRoundedRectangleGenerator>*) blurredRoundedRectangleGeneratorFilter NS_AVAILABLE(16_0, 19_0);
++ (CIFilter<CIBlurredRoundedRectangleGenerator>*) blurredRoundedRectangleGeneratorFilter NS_AVAILABLE(26_0, 26_0);
+ (CIFilter<CICheckerboardGenerator>*) checkerboardGeneratorFilter;
+ (CIFilter<CICode128BarcodeGenerator>*) code128BarcodeGeneratorFilter;
+ (CIFilter<CILenticularHaloGenerator>*) lenticularHaloGeneratorFilter;
@@ -2642,7 +2642,7 @@
+ (CIFilter<CIPDF417BarcodeGenerator>*) PDF417BarcodeGenerator;
+ (CIFilter<CIQRCodeGenerator>*) QRCodeGenerator;
+ (CIFilter<CIRandomGenerator>*) randomGeneratorFilter;
-+ (CIFilter<CIRoundedQRCodeGenerator>*) roundedQRCodeGeneratorFilter NS_AVAILABLE(16_0, 19_0);
++ (CIFilter<CIRoundedQRCodeGenerator>*) roundedQRCodeGeneratorFilter NS_AVAILABLE(26_0, 26_0);
+ (CIFilter<CIRoundedRectangleGenerator>*) roundedRectangleGeneratorFilter;
+ (CIFilter<CIRoundedRectangleStrokeGenerator>*) roundedRectangleStrokeGeneratorFilter NS_AVAILABLE(14_0, 17_0);
+ (CIFilter<CIStarShineGenerator>*) starShineGeneratorFilter;
@@ -2708,7 +2708,7 @@
// CICategoryReduction
+ (CIFilter<CIAreaHistogram>*) areaAlphaWeightedHistogramFilter NS_AVAILABLE(15_0, 18_0);
+ (CIFilter<CIAreaAverage>*) areaAverageFilter NS_AVAILABLE(11_0, 14_0);
-+ (CIFilter<CIAreaAverageMaximumRed>*) areaAverageMaximumRedFilter NS_AVAILABLE(16_0, 19_0);
++ (CIFilter<CIAreaAverageMaximumRed>*) areaAverageMaximumRedFilter NS_AVAILABLE(26_0, 26_0);
+ (CIFilter<CIAreaBoundsRed>*) areaBoundsRedFilter NS_AVAILABLE(15_0, 18_0);
+ (CIFilter<CIAreaHistogram>*) areaHistogramFilter NS_AVAILABLE(11_0, 14_0);
+ (CIFilter<CIAreaLogarithmicHistogram>*) areaLogarithmicHistogramFilter NS_AVAILABLE(13_0, 16_0);
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterGenerator.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterGenerator.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterGenerator.h 2026-04-18 21:26:45
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterGenerator.h 2026-05-23 02:34:52
@@ -88,7 +88,7 @@
/** This methods allows you to export an input or output key of an object in the filter chain to be available through the inputKeys or outputKeys API when converted into a CIFilter
- When you create a CIFilter from the CIFilterGenerator, you might want the client of the filter being able to set some of the paramters of the filter chain. To do so these parameters have to be exported as keys much like the inputKeys and outputKeys of all CIFilters.
+ When you create a CIFilter from the CIFilterGenerator, you might want the client of the filter being able to set some of the parameters of the filter chain. To do so these parameters have to be exported as keys much like the inputKeys and outputKeys of all CIFilters.
@param key The key path that is to be exported from the target object (eg. inputImage)
@param targetObject The object of which the key is to be exported (eg the filter).
@param exportedKeyName The name under which you want the new key to be available. This parameter can be nil in which case the original key name will be used. This name has to be unique. If a key being exported is an inputKey of the filter it will be exported as an input key and the other way around for output keys.
@@ -139,7 +139,7 @@
/** Register the resulting filter of the chain in the CIFilter repository.
This method allows you to register the filter chain as a named filter in the filter repository. You can then create a CIFilter object from it using the filterWithName: method. Make sure you set the class attributes first - see CIFilter for a description of the classAttributes that are needed to register a filter.
- When registering Core Image automatically adds the kCIFilterGeneratorCategory to the filters categories. The kCIFilterGeneratorCategory is purely for identification purpose and will not be exposed in the filter browser as a seperate category.
+ When registering Core Image automatically adds the kCIFilterGeneratorCategory to the filters categories. The kCIFilterGeneratorCategory is purely for identification purpose and will not be exposed in the filter browser as a separate category.
@param name The name under which the filter will be registered. This name has to be unique.
*/
@@ -147,7 +147,7 @@
/** Write the CIFilterGenerator into a file
- @result Returns true when the chain with written our succesfully
+ @result Returns true when the chain was written out successfully
*/
- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)flag;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h 2026-04-18 19:40:32
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h 2026-05-23 02:34:52
@@ -111,7 +111,7 @@
/// * ``CIVector`` : then use it as a `CGRect` to crop and offset.
/// * Not specified : then it will behave as if False was specified.
///
-CORE_IMAGE_EXPORT CIImageOption const kCIImageApplyCleanAperture NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT CIImageOption const kCIImageApplyCleanAperture NS_AVAILABLE(26_0, 26_0);
/* A boolean value specifying whether an image returned by [CIImage with...] should have kernels
* applied that will tone map to standard dynamic range (SDR).
@@ -144,26 +144,34 @@
/// when creating an image.
///
/// The value for this key should be an `NSNumber` instance.
-CORE_IMAGE_EXPORT CIImageOption const kCIImageContentAverageLightLevel NS_AVAILABLE(16_0, 19_0);
+CORE_IMAGE_EXPORT CIImageOption const kCIImageContentAverageLightLevel NS_AVAILABLE(26_0, 26_0);
-/* A boolean value specifying how the image should sampled.
- * If this option value is @YES, then the image will be sampled using nearest neighbor sampling.
- * If this option value is @NO, then the image will be sampled using bilinear interpolation.
- * If this option is not specified, then it will behave as if @NO was specified.
- */
+
+/// A Boolean value specifying how the image should be sampled.
+///
+/// If the value for this option is:
+/// * True: The image will be sampled using nearest neighbor sampling.
+/// * False: The image will be sampled using bilinear interpolation.
+/// * Not specified: The default behavior is False.
+///
CORE_IMAGE_EXPORT CIImageOption const kCIImageNearestSampling NS_AVAILABLE(10_13, 11_0);
-/* A boolean value specifying when the the image should be decoded.
- * This option is supported by:
- * imageWithContentsOfURL:options:, initWithContentsOfURL:options,
- * imageWithData:options:, initWithData:options:,
- * imageWithCGImage:options:, initWithCGImage:options:,
- * imageWithCGImageSource:options:, initWithCGImageSource:options:
- *
- * If this option value is @YES, then if possible the image will be decoded into a non-volatile cache at initialization time.
- * If this option value is @NO, then the image will be decoded into a volatile cache at render time.
- * If not specified, CoreImage will decide when the image should be decoded. */
+/// A Boolean value specifying when the image should be decoded.
+///
+/// If the value for this option is:
+/// * True: The image will be decoded into a non-volatile cache at initialization time if possible.
+/// * False: The image will be decoded into a volatile cache at render time.
+/// * Not specified: The default behavior is True or False depening on the image size and available memeory.
+///
+/// This option is only supported by these APIs:
+/// * ``/CIImage/imageWithContentsOfURL:options:``
+/// * ``/CIImage/initWithContentsOfURL:options:``
+/// * ``/CIImage/imageWithData:options:``
+/// * ``/CIImage/initWithData:options:``
+/// * ``/CIImage/imageWithCGImageSource:index:options:``
+/// * ``/CIImage/initWithCGImageSource:index:options:``
+///
CORE_IMAGE_EXPORT CIImageOption const kCIImageCacheImmediately;
@@ -194,6 +202,70 @@
CORE_IMAGE_EXPORT CIImageOption const kCIImageTextureFormat CI_GL_DEPRECATED_MAC(10_9,10_14);
+/// The factor by which to scale down a returned images.
+///
+/// The value of this key should be an `NSNumber` containing the integer value 2, 4, or 8.
+/// It can be used to improve performance and reduce memory usage when working with large images.
+///
+/// When you specify this key, the retured image will be scaled down the image data by the specified numerical factor.
+/// If the image format doesn’t support the specified scale factor, a larger or full-size normal image is returned.
+///
+/// This option is only supported by JPEG, HEIF, TIFF, PNG and RAW images formats.
+///
+/// This option is only supported by these APIs:
+/// * ``/CIImage/imageWithContentsOfURL:options:``
+/// * ``/CIImage/initWithContentsOfURL:options:``
+/// * ``/CIImage/imageWithData:options:``
+/// * ``/CIImage/initWithData:options:``
+/// * ``/CIImage/imageWithCGImageSource:index:options:``
+/// * ``/CIImage/initWithCGImageSource:index:options:``
+///
+/// > Note: the `kCGImageSourceSubsampleFactor` key can also be used for this purpose.
+///
+CORE_IMAGE_EXPORT CIImageOption const kCIImageSubsampleFactor
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+
+/// The uniform type identifier string to use in cases where a file's format cannot
+/// be conclusively determined based solely on its contents.
+///
+/// The value of this key should be an `NSString` containing a hint.
+/// It is most commonly needed for some RAW file formats which can also be
+/// interpreted as TIFF files.
+///
+/// This option is only supported by these APIs:
+/// * ``/CIImage/imageWithContentsOfURL:options:``
+/// * ``/CIImage/initWithContentsOfURL:options:``
+/// * ``/CIImage/imageWithData:options:``
+/// * ``/CIImage/initWithData:options:``
+///
+/// > Note: the key `kCGImageSourceTypeIdentifierHint` key can also be used for this purpose.
+///
+CORE_IMAGE_EXPORT CIImageOption const kCIImageTypeIdentifierHint
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+/// A Boolean value specifying that using hardware is preferred when decoding.
+///
+/// If the value for this option is:
+/// * True: The image will be decoded using dedicated hardware if possible.
+/// * False: The image will be decoded using the CPU is possible.
+/// * Not specified: The default behavior is True.
+///
+/// This option is only supported by JPEG and HEIF images formats.
+///
+/// This option is only supported by these APIs:
+/// * ``/CIImage/imageWithContentsOfURL:options:``
+/// * ``/CIImage/initWithContentsOfURL:options:``
+/// * ``/CIImage/imageWithData:options:``
+/// * ``/CIImage/initWithData:options:``
+/// * ``/CIImage/imageWithCGImageSource:index:options:``
+/// * ``/CIImage/initWithCGImageSource:index:options:``
+///
+/// > Note: the `kCGImageSourceUseHardwareAcceleration` key can also be used for this purpose.
+///
+CORE_IMAGE_EXPORT CIImageOption const kCIImageUseHardwareAcceleration
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
/* The kCIImageAuxiliary keys specify that an auxiliary image be returned instead of the primary image.
* These options are supported by:
* imageWithContentsOfURL:options:, initWithContentsOfURL:options,
@@ -504,7 +576,7 @@
/// This intermediate will be cacheable even if ``kCIContextCacheIntermediates`` is false.
/// - Returns:
/// An autoreleased ``CIImage``.
-- (CIImage *)imageByInsertingTiledIntermediate NS_AVAILABLE(16_0, 19_0);
+- (CIImage *)imageByInsertingTiledIntermediate NS_AVAILABLE(26_0, 26_0);
/// Create an image that applies a gain map Core Image image to the received Core Image image.
///
@@ -539,7 +611,7 @@
///
/// - Returns:
/// An autoreleased ``CIImage``.
-- (CIImage*) imageBySettingContentHeadroom:(float)headroom NS_AVAILABLE(16_0, 19_0);
+- (CIImage*) imageBySettingContentHeadroom:(float)headroom NS_AVAILABLE(26_0, 26_0);
/// Create an image by changing the receiver's contentAverageLightLevel property.
///
@@ -548,7 +620,7 @@
///
/// - Returns:
/// An autoreleased ``CIImage``.
-- (CIImage*) imageBySettingContentAverageLightLevel:(float)average NS_AVAILABLE(16_0, 19_0);
+- (CIImage*) imageBySettingContentAverageLightLevel:(float)average NS_AVAILABLE(26_0, 26_0);
/// Returns a rectangle the defines the bounds of non-(0,0,0,0) pixels in the image.
/// > Note: the ``extent`` of `CIImage`` may be infinite or have a non-zero origin.
@@ -630,7 +702,7 @@
/// (e.g. `CIGaussianBlur`, `CILanczosScaleTransform`, `CIAreaAverage` and some others)
/// to an image will result in a ``CIImage`` instance with the same `contentAverageLightLevel` property value.
///
-@property (nonatomic, readonly) float contentAverageLightLevel NS_AVAILABLE(16_0, 19_0);
+@property (nonatomic, readonly) float contentAverageLightLevel NS_AVAILABLE(26_0, 26_0);
/* Returns a CVPixelBufferRef if the CIImage was created with [CIImage imageWithCVPixelBuffer] and no options.
* Otherwise this property will be nil and calling [CIContext render:toCVPixelBuffer:] is recommended.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h 2026-04-18 21:02:24
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h 2026-05-23 02:34:52
@@ -18,6 +18,7 @@
#elif !TARGET_OS_SIMULATOR
#import <IOSurface/IOSurfaceRef.h>
#endif
+#import <IOSurface/IOSurfaceObjC.h>
NS_ASSUME_NONNULL_BEGIN
@@ -181,7 +182,7 @@
/// - outputRect: the output `CGRect` that processor will be asked to output.
/// - Returns:
/// An array of ``CIVector`` that specify tile regions of the `inputIndex`'th input that is required for the above `outputRect`
-/// Each region tile in the array is a created by calling ``/CIVector/vectorWithCGRect:/``
+/// Each region tile in the array is a created by calling ``/CIVector/vectorWithCGRect:``
/// The tiles may overlap but should fully cover the area of 'input' that is needed.
/// If a processor has multiple inputs, then each input should return the same number of region tiles.
///
@@ -250,7 +251,7 @@
/// - inputs: An array of ``CIImage`` objects to use as input.
/// - arguments: This dictionary contains any additional parameters that the processor needs to
/// produce its output. The argument objects can be of any type but in order for
-/// CoreImage to cache intermediates, they must be of the following immutable types:
+/// CoreImage to cache intermediates, they must be of the following immutable types:
/// `NSArray`, `NSDictionary`, `NSNumber`, `NSValue`, `NSData`, `NSString`, `NSNull`,
/// ``CIVector``, ``CIColor``, `CGImage`, `CGColorSpace`, or `MLModel`.
/// - error: Pointer to the `NSError` object into which processing errors will be written.
@@ -293,7 +294,7 @@
+ (BOOL)processWithInputs:(nullable NSArray<id<CIImageProcessorInput>> *)inputs
arguments:(nullable NSDictionary<NSString*,id> *)arguments
outputs:(NSArray<id <CIImageProcessorOutput>> *)outputs
- error:(NSError **)error NS_AVAILABLE(16_0, 19_0);
+ error:(NSError **)error NS_AVAILABLE(26_0, 26_0);
/// Override this class method if your processor has more than one output and
/// you want your processor's output to be in a specific supported `CIPixelFormat`.
@@ -312,7 +313,7 @@
///
+ (CIFormat)outputFormatAtIndex:(int)outputIndex
arguments:(nullable NSDictionary<NSString*,id> *)arguments
-NS_AVAILABLE(16_0, 19_0);
+NS_AVAILABLE(26_0, 26_0);
/// Call this method on your multiple-output Core Image Processor Kernel subclass
/// to create an array of new image objects given the specified array of extents.
@@ -325,13 +326,13 @@
/// * your subclass does not implement ``processWithInputs:arguments:output:error:``
///
/// - Parameters:
-/// - extents: The array of bounding rectangles that the `CIImageProcessorKernel` can produce.
+/// - extents: The array of bounding rectangles that the `CIImageProcessorKernel` can produce.
/// Each rectangle in the array is an object created using ``/CIVector/vectorWithCGRect:``
/// This method will return `CIImage.emptyImage` if a rectangle in the array is empty.
/// - inputs: An array of ``CIImage`` objects to use as input.
/// - arguments: This dictionary contains any additional parameters that the processor needs to
/// produce its output. The argument objects can be of any type but in order for
-/// CoreImage to cache intermediates, they must be of the following immutable types:
+/// CoreImage to cache intermediates, they must be of the following immutable types:
/// `NSArray`, `NSDictionary`, `NSNumber`, `NSValue`, `NSData`, `NSString`, `NSNull`,
/// ``CIVector``, ``CIColor``, `CGImage`, `CGColorSpace`, or `MLModel`.
/// - error: Pointer to the `NSError` object into which processing errors will be written.
@@ -341,11 +342,48 @@
+ (nullable NSArray<CIImage*> *)applyWithExtents:(NSArray<CIVector*> *)extents
inputs:(nullable NSArray<CIImage*> *)inputs
arguments:(nullable NSDictionary<NSString*,id> *)arguments
- error:(NSError **)error NS_AVAILABLE(16_0, 19_0);
+ error:(NSError **)error NS_AVAILABLE(26_0, 26_0);
@end
+@interface CIImageProcessorKernel (TiledOutputSupport)
+
+/// Call this method on your Core Image Processor Kernel subclass to create a new image
+/// based on an array of tile extents that together cover the output.
+///
+/// Each tile is a CGRect encoded as a CIVector using +[CIVector vectorWithCGRect:].
+/// The overall output extent is computed as the union of all tile extents.
+///
+/// This method will return `nil` and an error if:
+/// * calling ``outputFormat`` on your subclass returns an unsupported format.
+/// * calling ``formatForInputAtIndex:`` on your subclass returns an unsupported format.
+/// * your subclass does not implement ``processWithInputs:arguments:output:error:``
+///
+/// - Parameters:
+/// - tileExtents: The array of bounding rectangles that the `CIImageProcessorKernel` can produce.
+/// Each rectangle in the array is an object created using ``/CIVector/vectorWithCGRect:``
+/// This method will return `CIImage.emptyImage` if the rectangles in the array
+/// have gaps or overlaps.
+/// - inputs: An array of ``CIImage`` objects to use as input.
+/// - arguments: This dictionary contains any additional parameters that the processor needs to
+/// produce its output. The argument objects can be of any type but in order for
+/// CoreImage to cache intermediates, they must be of the following immutable types:
+/// `NSArray`, `NSDictionary`, `NSNumber`, `NSValue`, `NSData`, `NSString`, `NSNull`,
+/// ``CIVector``, ``CIColor``, `CGImage`, `CGColorSpace`, or `MLModel`.
+/// - error: Pointer to the `NSError` object into which processing errors will be written.
+/// - Returns:
+/// An autoreleased ``CIImage``
+///
++ (nullable CIImage *) applyWithTiledExtent:(NSArray<CIVector*>*)tileExtents
+ inputs:(nullable NSArray<CIImage*>*)inputs
+ arguments:(nullable NSDictionary<NSString*,id>*)args
+ error:(NSError **)error
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+
/// Your app does not define classes that adopt this protocol; Core Image provides an object of this type
/// when rendering a custom image processor you create with a ``CIImageProcessorKernel`` subclass.
///
@@ -479,6 +517,64 @@
///
/// This digest will change if the graph up to and including the output of the processor changes in any way.
@property (nonatomic, readonly) uint64_t digest NS_AVAILABLE(13_0, 16_0);
+
+/// Returns a temporary IOSurface that your Core Image Processor Kernel can use as scratch storage during processing.
+///
+/// Use this method when your processor needs an intermediate `IOSurface` to stash data between stages of its work.
+/// Core Image manages the lifetime of the returned surface and reuses the underlying allocation across multiple invocations
+/// when possible. This is more efficient than allocating a fresh `IOSurface` on each invocation of your processor.
+///
+/// The returned surface is valid only for the duration of the
+/// ``CIImageProcessorKernel/processWithInputs:arguments:output:error:`` call that requested it.
+/// Don't retain it beyond the scope of that method or use it after the method returns.
+///
+/// Calling this method multiple times within the same processor invocation with the same `identifier`, `format`,
+/// `width`, and `height` returns the same surface. Otherwise it returns a distinct surface.
+/// This lets a processor request several independent surfaces by giving each one a unique name.
+///
+/// - Parameters:
+/// - identifier: A name that uniquely identifies this scratch surface within the processor invocation.
+/// - format: The pixel format for the surface. Must be a non-zero `OSType` pixel format constant.
+/// - width: The width of the surface in pixels. Must be greater than zero.
+/// - height: The height of the surface in pixels. Must be greater than zero.
+/// - Returns:
+/// An autoreleased `IOSurface` of the requested size and format, or `nil` if the surface could not be created.
+///
+- (nullable IOSurface *)temporarySurfaceWithIdentifier:(NSString *)identifier
+ format:(OSType)format
+ width:(size_t)width
+ height:(size_t)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.
+///
+/// Use this method when your processor needs an intermediate `CVPixelBuffer` to stash data between stages of its work.
+/// Core Image manages the lifetime of the returned buffer and reuses the underlying allocation across multiple invocations
+/// when possible. This is more efficient than allocating a fresh `CVPixelBuffer` on each invocation of your processor.
+///
+/// The returned pixel buffer is valid only for the duration of the
+/// ``CIImageProcessorKernel/processWithInputs:arguments:output:error:`` call that requested it.
+/// Don't retain it beyond the scope of that method or use it after the method returns.
+///
+/// Calling this method multiple times within the same processor invocation with the same `identifier`, `format`,
+/// `width`, and `height` returns a pixel buffer backed by the same `IOSurface`. Otherwise it returns a distinct pixel buffer.
+/// This lets a processor request several independent pixel buffers by giving each one a unique name.
+///
+/// - Parameters:
+/// - identifier: A name that uniquely identifies this scratch buffer within the processor invocation.
+/// - format: The pixel format for the buffer. Must be a non-zero `OSType` pixel format constant.
+/// - width: The width of the buffer in pixels. Must be greater than zero.
+/// - height: The height of the buffer in pixels. Must be greater than zero.
+/// - attributes: An optional dictionary of `CVPixelBuffer` creation attributes.
+/// - Returns:
+/// A non-retained `CVPixelBuffer` of the requested size and format, or `nil` if the buffer could not be created.
+///
+- (nullable CVPixelBufferRef)temporaryPixelBufferWithIdentifier:(NSString *)identifier
+ format:(OSType)format
+ 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);
@end
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProvider.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProvider.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProvider.h 2026-04-18 21:26:45
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProvider.h 2026-05-23 02:57:23
@@ -110,7 +110,7 @@
userInfo:(nullable id)info;
-/// An optional method that an image provider object way implement.
+/// An optional method that an image provider object may implement.
/// With this method, the provider object can use the Metal API to provide pixel
/// data into a MTLTexture when the image object is rendered.
///
@@ -148,7 +148,7 @@
originy:(size_t)originy
width:(size_t)width
height:(size_t)height
- userInfo:(nullable id)info NS_AVAILABLE(16_0,19_0);
+ userInfo:(nullable id)info NS_AVAILABLE(26_0, 26_0);
@end
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernel.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernel.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernel.h 2026-04-18 21:02:24
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernel.h 2026-05-28 02:08:59
@@ -299,7 +299,7 @@
@property (class, strong, readonly) CIBlendKernel *exclusiveOr;
/* PDF 1.7 blend modes
- * http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf
+ * https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf
*/
/* Standard separable blend modes */
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h 2026-04-19 01:32:08
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRAWFilter.h 2026-05-23 02:57:22
@@ -37,6 +37,9 @@
/* Returns a NSArray containing the names of all supported camera models. */
@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));
+
/* 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;
@@ -84,8 +87,8 @@
/* A boolean value to control if highlight recovery is enabled or not.
The default value is true. */
-@property(readonly, getter= isHighlightRecoverySupported) BOOL highlightRecoverySupported NS_AVAILABLE(16_0,19_0);
-@property(readwrite, getter= isHighlightRecoveryEnabled) BOOL highlightRecoveryEnabled NS_AVAILABLE(16_0,19_0);
+@property(readonly, getter= isHighlightRecoverySupported) BOOL highlightRecoverySupported NS_AVAILABLE(26_0, 26_0);
+@property(readwrite, getter= isHighlightRecoveryEnabled) BOOL highlightRecoveryEnabled NS_AVAILABLE(26_0, 26_0);
/* A boolean value to control if gamut mapping is enabled or not.
The default value is true. */
@@ -144,6 +147,14 @@
The 'isMoireReductionSupported' property is false if the current image doesn't support this adjustment. */
@property(readonly, getter= isMoireReductionSupported) BOOL moireReductionSupported;
@property(readwrite) float moireReductionAmount;
+
+/* A value to control the amount of despeckle correction to apply to the raw image.
+ A value of 0 indicates no despeckle correction.
+ A value of 1 indicates maximum despeckle correction.
+ The value should be in the range of 0...1. The default value will vary per image.
+ The 'isDespeckleSupported' property is false if the current image doesn't support this adjustment. */
+@property(readonly, getter= isDespeckleSupported) BOOL despeckleSupported;
+@property(readwrite) float despeckleAmount;
/* A value to control the amount of local tone curve to apply to the image.
A value of 0 indicates no local tone curve, i.e. linear response.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h 2026-04-18 21:45:33
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h 2026-05-28 01:58:58
@@ -189,7 +189,7 @@
/// If this property is set to a file-based URL, then the next render using this
/// destination will capture a Metal trace, deleting any existing file if present.
/// This property is nil by default.
-@property (nullable, nonatomic, retain) NSURL* captureTraceURL NS_AVAILABLE(16_0, 19_0);
+@property (nullable, nonatomic, retain) NSURL* captureTraceURL NS_AVAILABLE(26_0, 26_0);
@end
@@ -226,6 +226,25 @@
{
void *_priv;
}
+
+// This property will return the planned number of pixels a render will produce executing kernels.
+@property (readonly) NSInteger plannedPixelsProcessed
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+// This property will return the planned number of pixels that are overdrawn during the render.
+@property (readonly) NSInteger plannedPixelsOverdrawn
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+// This property will return the planned number of passes the render requires.
+@property (readonly) NSInteger plannedPassCount
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
+
+// This property will return the planned peak memory allocated (in megaBytes) for intermediates during the render.
+// This value represents the maximum amount of memory needed at any point during execution,
+// accounting for texture allocations, fragmentation, and alignment requirements.
+// This is useful for understanding memory pressure and optimizing render graphs.
+@property (readonly) NSInteger plannedPeakMemory
+API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), visionos(27.0)) API_UNAVAILABLE(watchos);
- (nullable CIRenderInfo*) waitUntilCompletedAndReturnError:(NSError**)error;