Skip to content

iOS: Remove the IOSRenderingAPI selection code - #190636

Merged
cbracken merged 1 commit into
flutter:masterfrom
cbracken:cleanup-delete-iosrenderingapi
Aug 6, 2026
Merged

iOS: Remove the IOSRenderingAPI selection code#190636
cbracken merged 1 commit into
flutter:masterfrom
cbracken:cleanup-delete-iosrenderingapi

Conversation

@cbracken

@cbracken cbracken commented Aug 6, 2026

Copy link
Copy Markdown
Member

Flutter iOS requires Metal. Skia support has been removed. Impeller has no software fallback. IOSRenderingAPI had one value (kMetal) and GetRenderingAPIForProcess only ever returned that value after asserting Metal was available. This removes the enum and the selection plumbing that was threaded through the engine, view, platform view, and context.

GetCoreAnimationLayerClassForRenderingAPI still returns FlutterMetalLayer or CAMetalLayer depending on embedder settings.

Issue: #190041
Issue: #112232

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@cbracken
cbracken requested a review from a team as a code owner August 6, 2026 00:08
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Aug 6, 2026
@cbracken
cbracken requested review from gaaclarke and removed request for a team August 6, 2026 00:08
@github-actions github-actions Bot added a: text input Entering text in a text field or keyboard related problems platform-ios iOS applications specifically engine flutter/engine related. See also e: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) team-ios Owned by iOS platform team labels Aug 6, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the IOSRenderingAPI enum and its associated selection plumbing across the iOS platform view implementation, including PlatformViewIOS, IOSContext, and related tests, as Metal is now the sole rendering API. The review feedback suggests renaming GetCoreAnimationLayerClassForRenderingAPI to GetCoreAnimationLayerClass to reflect the removal of the rendering API parameter, along with updating its definition and call site.

Comment thread engine/src/flutter/shell/platform/darwin/ios/rendering_api_selection.h Outdated
Comment thread engine/src/flutter/shell/platform/darwin/ios/rendering_api_selection.mm Outdated
Comment thread engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm Outdated
Flutter iOS requires Metal. Skia support has been removed. Impeller has
no software fallback. `IOSRenderingAPI` had one value (`kMetal`) and
`GetRenderingAPIForProcess` only ever returned that value after
asserting Metal was available. This removes the enum and the selection
plumbing that was threaded through the engine, view, platform view, and
context.

`GetCoreAnimationLayerClassForRenderingAPI` still returns
`FlutterMetalLayer` or `CAMetalLayer` depending on embedder settings.

Issue: flutter#190041
@cbracken
cbracken force-pushed the cleanup-delete-iosrenderingapi branch from 8097bd4 to 5b57281 Compare August 6, 2026 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: text input Entering text in a text field or keyboard related problems CICD Run CI/CD engine flutter/engine related. See also e: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants