Skip to content

CompositorServices macOS xcode26.0 b3

Rolf Bjarne Kvinge edited this page Jul 29, 2025 · 2 revisions

#CompositorServices.framework https://github.com/dotnet/macios/issues/23422

diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CompositorServices.framework/Headers/drawable_render_context.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CompositorServices.framework/Headers/drawable_render_context.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CompositorServices.framework/Headers/drawable_render_context.h	2025-06-19 06:02:36
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CompositorServices.framework/Headers/drawable_render_context.h	2025-06-27 08:50:41
@@ -35,9 +35,12 @@
 ///                                in the drawable.
 ///     - rasterizationRateMap: should be the one provided by the drawable.
 ///     - layer renderer layout: Dedicated and Shared layout is not supported.
-///     - supportColorAttachmentMapping: The render pass descriptor used to create the render encoder should
-///                                      have ``supportColorAttachmentMapping`` set to true.
 ///
+/// - Note: If the render encoder has multiple color attachments then set `supportColorAttachmentMapping`
+///         to true to avoid Metal API validation errors.
+///         This API is not available on simulator; as a workaround, either disable API validation or separate
+///         the rendering into multiple render encoders for other color attachments.
+///
 /// - Note: This function will modify the depth stencil state, the viewports, the vertex amplification count
 ///         and some of the texture bindings in the render command encoder passed to the function.
 ///         Make sure to set those values again to the ones expected in your application.
@@ -67,8 +70,11 @@
 ///                                in the drawable.
 ///     - rasterizationRateMap: should be the one provided by the drawable.
 ///     - layer renderer layout: Dedicated and Shared layout is not supported.
-///     - supportColorAttachmentMapping: The render pass descriptor used to create the render encoder should
-///                                      have ``supportColorAttachmentMapping`` set to true.
+///
+/// - Note: If the render encoder has multiple color attachments then set `supportColorAttachmentMapping`
+///         to true to avoid Metal API validation errors.
+///         This API is not available on simulator; as a workaround, either disable API validation or separate
+///         the rendering into multiple render encoders for other color attachments.
 void
 cp_drawable_render_context_end_encoding(cp_drawable_render_context_t render_context,
                                         id<MTLRenderCommandEncoder> command_encoder)
@@ -95,9 +101,12 @@
 ///                                in the drawable.
 ///     - rasterizationRateMap: should be the one provided by the drawable.
 ///     - layer renderer layout: Dedicated and Shared layout is not supported.
-///     - supportColorAttachmentMapping: The render pass descriptor used to create the render encoder should
-///                                      have ``supportColorAttachmentMapping`` set to true.
 ///
+/// - Note: If the render encoder has multiple color attachments then set `supportColorAttachmentMapping`
+///         to true to avoid Metal API validation errors.
+///         This API is not available on simulator; as a workaround, either disable API validation or separate
+///         the rendering into multiple render encoders for other color attachments.
+///
 /// - Note: This function will modify the depth stencil state, the viewports, the vertex amplification count
 ///         and some of the texture bindings in the render command encoder passed to the function.
 ///         Make sure to set those values again to the ones expected in your application.
@@ -127,8 +136,11 @@
 ///                                in the drawable.
 ///     - rasterizationRateMap: should be the one provided by the drawable.
 ///     - layer renderer layout: Dedicated and Shared layout is not supported.
-///     - supportColorAttachmentMapping: The render pass descriptor used to create the render encoder should
-///                                      have ``supportColorAttachmentMapping`` set to true.
+///
+/// - Note: If the render encoder has multiple color attachments then set `supportColorAttachmentMapping`
+///         to true to avoid Metal API validation errors.
+///         This API is not available on simulator; as a workaround, either disable API validation or separate
+///         the rendering into multiple render encoders for other color attachments.
 void
 cp_drawable_render_context_mtl4_end_encoding(cp_drawable_render_context_t render_context,
                                              id<MTL4RenderCommandEncoder> command_encoder)
Clone this wiki locally