-
Notifications
You must be signed in to change notification settings - Fork 548
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)