-
Notifications
You must be signed in to change notification settings - Fork 518
CoreImage tvOS xcode15.0 b1
Manuel de la Pena edited this page Aug 30, 2023
·
3 revisions
#CoreImage.framework https://github.com/xamarin/xamarin-macios/pull/18874
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h 2023-03-09 23:50:20
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h 2023-06-01 00:05:10
@@ -20,7 +20,8 @@
#if COREIMAGE_SUPPORTS_OPENGLES
#import <OpenGLES/EAGL.h>
-#elif TARGET_OS_OSX
+#endif
+#if TARGET_OS_OSX
#import <OpenGL/CGLTypes.h>
#endif
@@ -201,6 +202,10 @@
// The working pixel format of the CIContext used for intermediate buffers
@property (nonatomic, readonly) CIFormat workingFormat NS_AVAILABLE(10_11,9_0);
+// A NSNumber that specifies the maximum memory footprint (in megabytes) that
+// the CIContext 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
@@ -458,6 +463,12 @@
colorSpace:(CGColorSpaceRef)colorSpace
options:(NSDictionary<CIImageRepresentationOption, id>*)options NS_AVAILABLE(10_13,11_0);
+/* Render a CIImage to OpenEXR data. Image must have a finite non-empty extent. */
+/* No options keys are supported at this time. */
+- (nullable NSData*) OpenEXRRepresentationOfImage:(CIImage*)image
+ options:(NSDictionary<CIImageRepresentationOption, id>*)options
+ error:(NSError **)errorPtr NS_AVAILABLE(14_0, 17_0);
+
/* Render a CIImage to TIFF file. Image must have a finite non-empty extent. */
/* The CGColorSpace must be kCGColorSpaceModelRGB or kCGColorSpaceModelMonochrome */
/* and must match the specified CIFormat. */
@@ -512,6 +523,12 @@
options:(NSDictionary<CIImageRepresentationOption, id>*)options
error:(NSError **)errorPtr NS_AVAILABLE(12_0,15_0);
+/* Render a CIImage to OpenEXR file. Image must have a finite non-empty extent. */
+/* No options keys are supported at this time. */
+- (BOOL) writeOpenEXRRepresentationOfImage:(CIImage*)image
+ toURL:(NSURL*)url
+ options:(NSDictionary<CIImageRepresentationOption, id>*)options
+ error:(NSError **)errorPtr NS_AVAILABLE(14_0, 17_0);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h 2023-03-09 19:13:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h 2023-05-31 08:52:21
@@ -337,14 +337,14 @@
*/
+ (nullable NSData*)serializedXMPFromFilters:(NSArray<CIFilter *> *)filters
inputImageExtent:(CGRect)extent
- NS_AVAILABLE(10_9, 6_0);
+ NS_DEPRECATED(10_9,14_0, 6_0,17_0);
/* Return an array of CIFilters de-serialized from XMP data.
*/
+ (NSArray<CIFilter *> *)filterArrayFromSerializedXMP:(NSData *)xmpData
inputImageExtent:(CGRect)extent
error:(NSError **)outError
- NS_AVAILABLE(10_9, 6_0);
+ NS_DEPRECATED(10_9,14_0, 6_0,17_0);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h 2023-03-09 23:50:20
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h 2023-05-31 03:49:27
@@ -5,7 +5,7 @@
#import <TargetConditionals.h>
-#if TARGET_OS_OSX || TARGET_OS_IOS || TARGET_OS_TV
+#if TARGET_OS_OSX || TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_WATCH
#import <CoreImage/CIFilter.h>
@class CIVector;
@@ -713,6 +713,12 @@
@property (nonatomic) float radius;
@property (nonatomic, retain) CIColor *color;
@end
+@protocol CIRoundedRectangleStrokeGenerator <CIFilter>
+ @property (nonatomic) CGRect extent;
+ @property (nonatomic) float radius;
+ @property (nonatomic) float width;
+ @property (nonatomic, retain) CIColor *color;
+@end
@protocol CIStarShineGenerator <CIFilter>
@property (nonatomic) CGPoint center;
@property (nonatomic, retain) CIColor *color;
@@ -758,6 +764,14 @@
@property (nonatomic) float radius;
@property (nonatomic) float intensity;
@end
+@protocol CICannyEdgeDetector <CIFilter>
+ @property (nonatomic, retain, nullable) CIImage *inputImage;
+ @property (nonatomic) float gaussianSigma;
+ @property (nonatomic) bool perceptual;
+ @property (nonatomic) float thresholdHigh;
+ @property (nonatomic) float thresholdLow;
+ @property (nonatomic) NSInteger hysteresisPasses;
+@end
@protocol CIComicEffect <CIFilter>
@property (nonatomic, retain, nullable) CIImage *inputImage;
@end
@@ -852,6 +866,9 @@
@property (nonatomic, retain, nullable) CIImage *shadingImage;
@property (nonatomic) float scale;
@end
+@protocol CISobelGradients <CIFilter>
+ @property (nonatomic, retain, nullable) CIImage *inputImage;
+@end
@protocol CISpotColor <CIFilter>
@property (nonatomic, retain, nullable) CIImage *inputImage;
@property (nonatomic, retain) CIColor *centerColor1;
@@ -1172,6 +1189,7 @@
+ (CIFilter<CIQRCodeGenerator>*) QRCodeGenerator;
+ (CIFilter<CIRandomGenerator>*) randomGeneratorFilter;
+ (CIFilter<CIRoundedRectangleGenerator>*) roundedRectangleGeneratorFilter;
++ (CIFilter<CIRoundedRectangleStrokeGenerator>*) roundedRectangleStrokeGeneratorFilter NS_AVAILABLE(14_0, 17_0);
+ (CIFilter<CIStarShineGenerator>*) starShineGeneratorFilter;
+ (CIFilter<CIStripesGenerator>*) stripesGeneratorFilter;
+ (CIFilter<CISunbeamsGenerator>*) sunbeamsGeneratorFilter;
@@ -1183,6 +1201,7 @@
+ (CIFilter<CIBlendWithMask>*) blendWithMaskFilter;
+ (CIFilter<CIBlendWithMask>*) blendWithRedMaskFilter;
+ (CIFilter<CIBloom>*) bloomFilter;
++ (CIFilter<CICannyEdgeDetector>*) cannyEdgeDetectorFilter NS_AVAILABLE(14_0, 17_0);
+ (CIFilter<CIComicEffect>*) comicEffectFilter;
+ (CIFilter<CIConvolution>*) convolution3X3Filter;
+ (CIFilter<CIConvolution>*) convolution5X5Filter;
@@ -1211,6 +1230,7 @@
+ (CIFilter<CIPointillize>*) pointillizeFilter;
+ (CIFilter<CISaliencyMap>*) saliencyMapFilter;
+ (CIFilter<CIShadedMaterial>*) shadedMaterialFilter;
++ (CIFilter<CISobelGradients>*) sobelGradientsFilter NS_AVAILABLE(14_0, 17_0);
+ (CIFilter<CISpotColor>*) spotColorFilter;
+ (CIFilter<CISpotLight>*) spotLightFilter;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h 2023-03-09 23:53:27
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h 2023-05-31 03:49:27
@@ -51,7 +51,13 @@
CORE_IMAGE_EXPORT CIFormat kCIFormatRGBAh NS_AVAILABLE(10_4, 6_0);
CORE_IMAGE_EXPORT CIFormat kCIFormatRGBA16 NS_AVAILABLE(10_4, 10_0);
CORE_IMAGE_EXPORT CIFormat kCIFormatRGBAf NS_AVAILABLE(10_4, 7_0);
+CORE_IMAGE_EXPORT CIFormat kCIFormatRGBX16 NS_AVAILABLE(11_0, 14_2);
+CORE_IMAGE_EXPORT CIFormat kCIFormatRGBXh NS_AVAILABLE(14_0, 17_0);
+CORE_IMAGE_EXPORT CIFormat kCIFormatRGBXf NS_AVAILABLE(14_0, 17_0);
+// RGB101010 stored in little-endian 32bit int, 2 MSB are ignored, full-range (0-1024)
+CORE_IMAGE_EXPORT CIFormat kCIFormatRGB10 NS_AVAILABLE(14_0, 17_0);
+
CORE_IMAGE_EXPORT CIFormat kCIFormatA8 NS_AVAILABLE(10_11, 9_0);
CORE_IMAGE_EXPORT CIFormat kCIFormatA16 NS_AVAILABLE(10_11, 9_0);
CORE_IMAGE_EXPORT CIFormat kCIFormatAh NS_AVAILABLE(10_11, 9_0);
@@ -96,46 +102,80 @@
* applied that will tone map to standard dynamic range (SDR).
* The option will only have an effect if the image has a CGColorSpace that is high dynamic range (HDR).
* This option can be useful if further usage of an image is not prepared for HDR values.
- * If the value for this option is @YES, then the HDR input image will be tone mapped to working space SDR.
- * If the value for this option is @NO, then the HDR input image will be linearized to unclamped working space.
- * If this option is not specified, then it will behave as if @NO was specified.
+ *
+ * If the value for this option is @YES, then the HDR input image will be tone mapped to working space SDR.
+ * If the value for this option is @NO, then the HDR input image will be linearized to unclamped working space.
+ * If this option is not specified, then it will behave as if @NO was specified.
*/
CORE_IMAGE_EXPORT CIImageOption const kCIImageToneMapHDRtoSDR NS_AVAILABLE(11_0, 14_1);
-/* A boolean value specifying whether the image should sampled using "nearest neighbor"
- * behavior. If not specified, the image will be sampled using "linear sampling" */
+/* A boolean value specifying whether the image should be expanded to HDR if the image content support this.
+ * This option is supported by:
+ * imageWithContentsOfURL:options:, initWithContentsOfURL:options,
+ * imageWithData:options:, initWithData:options:,
+ *
+ * If this option value is @YES, the image will expanded to a HDR colorspace if supported.
+ * If this option not present or the value is @NO, then the image will not be transformed.
+ */
+CORE_IMAGE_EXPORT CIImageOption const kCIImageExpandToHDR NS_AVAILABLE(14_0, 17_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.
+ */
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. */
+CORE_IMAGE_EXPORT CIImageOption const kCIImageCacheImmediately;
+
+
/* A NSDictionary of metadata properties to pass to CIImage initialization methods.
- * When used with imageWithCGImage:options:, initWithCGImage:options:, imageWithData:options:, initWithData:options:
- * If this option is not specified, the properties will be set to CGImageSourceCopyPropertiesAtIndex.
- * If this option is [NSNull null], the properties will be set to nil.
+ * If this option is not specified, the properties will be set to CGImageSourceCopyPropertiesAtIndex.
+ * If this option is [NSNull null], the properties will be set to nil.
*/
CORE_IMAGE_EXPORT CIImageOption const kCIImageProperties NS_AVAILABLE(10_8, 5_0);
-/* A boolean value specifying whether the image should transformed according to orientation metadata properties.
- * This can be used with imageWithContentsOfURL: or initWithData: when the image contains orientation metadata
- * or with any of the initWith:options: method if the kCIImageProperties option is also provided.
- * If this option value is @YES, the image will transformed according to the orientation metadata
- * and the orientation metadata will be be removed.
- * If this option not present or the value is @NO, then the image will not be transformed
- * and the orientation metadata will left unaltered.
+/* A boolean value specifying that the image should transformed according to orientation metadata.
+ * This option is supported by:
+ * imageWithContentsOfURL:options:, initWithContentsOfURL:options,
+ * imageWithData:options:, initWithData:options:,
+ * imageWithCGImageSource:options:, initWithCGImageSource:options:
+ * when the image data contains orientation metadata or by any initialization method
+ * if the kCIImageProperties option is also provided.
+ *
+ * If this option value is @YES, the image will transformed according to the orientation metadata
+ * and the orientation metadata will be be removed.
+ * If this option value is @NO, then the image will not be transformed
+ * and the orientation metadata will left unaltered.
+ * If this option is not specified, then it will behave as if @NO was specified.
*/
CORE_IMAGE_EXPORT CIImageOption const kCIImageApplyOrientationProperty NS_AVAILABLE(10_13, 11_0);
-
CORE_IMAGE_EXPORT CIImageOption const kCIImageTextureTarget CI_GL_DEPRECATED_MAC(10_9,10_14);
CORE_IMAGE_EXPORT CIImageOption const kCIImageTextureFormat CI_GL_DEPRECATED_MAC(10_9,10_14);
-/* The kCIImageAuxiliaryDepth or kCIImageAuxiliaryDisparity or kCIImageAuxiliaryPortraitEffectsMatte keys can be passed to the methods:
- + [CIImage imageWithContentsOfURL:options:]
- + [CIImage imageWithData:options:]
- If the value of one of these keys is @YES, the auxiliary image be returned instead of the primary image.
- If an auxiliary image is not present, then nil will be returned.
- The returned image will be a half float monochrome image.
+/* The kCIImageAuxiliary keys specify that an auxiliary image be returned instead of the primary image.
+ * These options are supported by:
+ * imageWithContentsOfURL:options:, initWithContentsOfURL:options,
+ * imageWithData:options:, initWithData:options:,
+ * imageWithCGImageSource:options:, initWithCGImageSource:options:
+ *
+ * If the value of any of these keys is @YES, the auxiliary image be returned if present.
+ * The returned image will be a monochrome image.
*/
CORE_IMAGE_EXPORT CIImageOption const kCIImageAuxiliaryDepth NS_AVAILABLE(10_13, 11_0);
CORE_IMAGE_EXPORT CIImageOption const kCIImageAuxiliaryDisparity NS_AVAILABLE(10_13, 11_0);
@@ -145,6 +185,7 @@
CORE_IMAGE_EXPORT CIImageOption const kCIImageAuxiliarySemanticSegmentationTeethMatte NS_AVAILABLE(10_15, 13_0);
CORE_IMAGE_EXPORT CIImageOption const kCIImageAuxiliarySemanticSegmentationGlassesMatte NS_AVAILABLE(11_0, 14_1);
CORE_IMAGE_EXPORT CIImageOption const kCIImageAuxiliarySemanticSegmentationSkyMatte NS_AVAILABLE(11_1, 14_3);
+CORE_IMAGE_EXPORT CIImageOption const kCIImageAuxiliaryHDRGainMap NS_AVAILABLE(11_0, 14_1);
/* Creates a new image from the contents of 'image'. */
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h 2023-03-09 23:53:27
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImageProcessor.h 2023-05-31 03:49:28
@@ -11,6 +11,7 @@
#ifdef __OBJC__
#import <CoreImage/CIImage.h>
+#import <CoreImage/CIVector.h>
#if TARGET_OS_OSX
#import <IOSurface/IOSurface.h>
@@ -65,6 +66,19 @@
arguments:(nullable NSDictionary<NSString*,id> *)arguments
outputRect:(CGRect)outputRect;
+// Returns an array of CIVectors that specify tile regions for 'input' that are needed to satisfy 'outputRect'.
+// Each region tile in the array is a created by calling [CIVector vectorWithCGRect:roi]
+// 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.
+//
+// If the processor implements this method, then when rendered;
+// - as CoreImage prepares for a render, this method will be called for each input to return the roiArray.
+// - as CoreImage performs the render, the method 'processWithInputs:arguments:output:' will be called once for for each tile.
+//
++ (NSArray<CIVector*>*) roiTileArrayForInput:(int)input
+ arguments:(nullable NSDictionary<NSString*,id> *)arguments
+ outputRect:(CGRect)outputRect NS_AVAILABLE(14_0, 17_0);
+
// Override this class method if you want your any of the inputs to be in a specific supported CIPixelFormat.
// The format must be one of kCIFormatBGRA8, kCIFormatRGBAh, kCIFormatRGBAf or kCIFormatR8.
// On iOS 12 and macOS 10.14, the formats kCIFormatRh and kCIFormatRf are also supported.
@@ -173,6 +187,10 @@
// A 64-bit digest that uniquely describes the contents of the input to a processor.
// This digest will change if the graph of the input changes in any way.
@property (nonatomic, readonly) uint64_t digest NS_AVAILABLE(13_0, 16_0);
+
+// For processors that implement 'roiTileArrayForInput:arguments:outputRect:'
+@property (nonatomic, readonly) NSUInteger roiTileIndex NS_AVAILABLE(14_0, 17_0);
+@property (nonatomic, readonly) NSUInteger roiTileCount NS_AVAILABLE(14_0, 17_0);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h 2023-03-09 19:16:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIKernelMetalLib.h 2023-05-31 08:52:21
@@ -183,8 +183,14 @@
#if __CIKERNEL_METAL_VERSION__ >= 200
namespace group
{
+#if __CIKERNEL_METAL_VERSION__ >= 300
+ typedef struct Destination
+ {
+ Destination(float2 c_, uint2 gid_, float4 r_, float4x4 m_, texture2d<float, access::write> t_):c(c_), gid(gid_), r(r_), m(m_), t(t_) {}
+#else
typedef struct
{
+#endif //__CIKERNEL_METAL_VERSION__ >= 300
// 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; }
@@ -201,8 +207,14 @@
} __attribute__((packed)) destination;
+#if __CIKERNEL_METAL_VERSION__ >= 300
+ typedef struct Destination_h
+ {
+ 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_) {}
+#else
typedef struct
{
+#endif //__CIKERNEL_METAL_VERSION__ >= 300
// 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; }
@@ -227,14 +239,19 @@
float4 unpremultiply(float4 s);
float3 srgb_to_linear(float3 s);
+ float4 srgb_to_linear(float4 s);
+
float3 linear_to_srgb(float3 s);
-
+ float4 linear_to_srgb(float4 s);
#if __CIKERNEL_METAL_VERSION__ >= 200
half4 premultiply(half4 s);
half4 unpremultiply(half4 s);
half3 srgb_to_linear(half3 s);
+ half4 srgb_to_linear(half4 s);
+
half3 linear_to_srgb(half3 s);
+ half4 linear_to_srgb(half4 s);
#endif
//MARK: - Relational Functions
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h 2023-03-09 23:50:20
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIRenderDestination.h 2023-05-31 05:03:27
@@ -198,6 +198,9 @@
// This property will return how much time a render spent executing kernels.
@property (readonly) NSTimeInterval kernelExecutionTime;
+// This property will return how much time a render spent compiling kernels.
+@property (readonly) NSTimeInterval kernelCompileTime NS_AVAILABLE(14_0, 17_0);
+
// This property will return how many passes the render requires.
// If passCount is 1 than the render can be fully concatinated and no
// intermediate buffers will be required.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImage.apinotes /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImage.apinotes
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImage.apinotes 2023-03-04 19:39:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImage.apinotes 2023-05-31 23:41:30
@@ -123,6 +123,10 @@
SwiftName: properties
- Name: kCIImageApplyOrientationProperty
SwiftName: applyOrientationProperty
+- Name: kCIImageCacheImmediately
+ SwiftName: cacheImmediately
+- Name: kCIImageExpandToHDR
+ SwiftName: expandToHDR
- Name: kCIImageTextureTarget
SwiftName: textureTarget
- Name: kCIImageTextureFormat
@@ -171,8 +175,6 @@
SwiftName: opaque
- Name: kCIImageCacheHint
SwiftName: cacheHint
-- Name: kCIImageCacheImmediately
- SwiftName: cacheImmediately
- Name: kCIImageYCCMatrix
SwiftName: YCCMatrix
- Name: kCIImageIgnorePixelFormatFor601Fixup
@@ -207,6 +209,8 @@
SwiftName: allowLowPower
- Name: kCIContextName
SwiftName: name
+- Name: kCIContextMemoryLimit
+ SwiftName: memoryTarget
# CIContextOption - Private
- Name: kCIContextDisableSoftwareFallback
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImageDefines.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImageDefines.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImageDefines.h 2023-03-09 19:13:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CoreImageDefines.h 2023-05-31 23:52:10
@@ -38,23 +38,29 @@
#ifdef __OBJC__
#ifdef CI_SILENCE_GL_DEPRECATION
+ #if defined(TARGET_OS_XR) && TARGET_OS_XR
+ #define CI_GL_DEPRECATED(...) API_UNAVAILABLE(xros)
+ #define CI_GL_DEPRECATED_IOS(...) API_UNAVAILABLE(xros)
+ #else
+ #define CI_GL_DEPRECATED(fromM,toM, fromI,toI) NS_AVAILABLE(fromM,fromI)
#define CI_GL_DEPRECATED_IOS(from, to) NS_AVAILABLE_IOS(from)
+ #endif
#define CI_GL_DEPRECATED_MAC(from, to) NS_AVAILABLE_MAC(from)
- #define CI_GL_DEPRECATED(fromM,toM, fromI,toI) NS_AVAILABLE(fromM,fromI)
#define CIKL_DEPRECATED(fromM,toM, fromI,toI) NS_AVAILABLE(fromM,fromI)
#else
+ #if defined(TARGET_OS_XR) && TARGET_OS_XR
+ #define CI_GL_DEPRECATED(...) API_UNAVAILABLE(xros)
+ #define CI_GL_DEPRECATED_IOS(...) API_UNAVAILABLE(xros)
+ #else
+ #define CI_GL_DEPRECATED(fromM,toM, fromI,toI) NS_DEPRECATED(fromM,toM, fromI,toI, "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
#define CI_GL_DEPRECATED_IOS(from, to) NS_DEPRECATED_IOS(from, to, "Core Image OpenGLES API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
+ #endif
#define CI_GL_DEPRECATED_MAC(from, to) NS_DEPRECATED_MAC(from, to, "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
- #define CI_GL_DEPRECATED(fromM,toM, fromI,toI) NS_DEPRECATED(fromM,toM, fromI,toI, "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
#define CIKL_DEPRECATED(fromM,toM, fromI,toI) NS_DEPRECATED(fromM,toM, fromI,toI, "Core Image Kernel Language API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
#endif
#endif
-#if TARGET_OS_MAC || !TARGET_OS_SIMULATOR || defined(__IPHONE_13_0)
- #define COREIMAGE_SUPPORTS_IOSURFACE 1
-#else
- #define COREIMAGE_SUPPORTS_IOSURFACE 0
-#endif
+#define COREIMAGE_SUPPORTS_IOSURFACE 1
#define UNIFIED_CORE_IMAGE 1
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status
- xcode16.1 Binding Status
- xcode16.2 Binding Status