RepoJournal
Mobile platforms

Mobile platforms

Flutter, Swift, and Kotlin - the mobile platforms developers ship on

Keep up with Mobile platforms in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Mobile Full archive →

The Wire · Showcase

FLUTTER FIXES SILENT SHADER BINDING FAILURES ON OLDER GL TARGETS

By RepoJournal · Filed · About Mobile platforms

Flutter's Impeller renderer was silently binding shader uniform members to invalid GL locations on pre-GLSL 1.40 targets, causing rendering corruption that looked like driver bugs.

The fix [1] canonicalizes uniform block instance names across GL backends, ensuring SPIRV-Cross lowering doesn't create mismatches between how the compiler names uniforms and how the runtime looks them up. This was a particularly nasty bug because it failed silently: non-conforming instance names like `uniform ToonInfo { ... } toon;` would bind every member to location -1, giving you broken shaders with no error message. Flutter is also pushing through test infrastructure cleanup [2] removing Material dependencies from widget tests and modernizing parameter syntax [3], work that unblocks downstream improvements in the analyzer. Over on Swift, the serialization team landed critical infrastructure [4] for recording physical layouts of hidden types in binary modules, eliminating the need for downstream consumers to load internal dependencies just to understand type layout. Swift also hardened C++ interop [5] by guarding Span-referencing declarations against SDK version mismatches, fixing crashes when newer toolchains pair with older SDKs. The snapshot tool got faster too [6] with GitHub API caching and bisect boundary fixes.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] [Impeller] Canonicalize uniform block instance names for the GL backends ↗ flutter/flutter
  2. [2] refactor: Remove material imports from Widget tests ↗ flutter/flutter
  3. [3] [widgets] Use super parameters in missed spots (#186198) flutter/flutter
  4. [4] [Serialization] Add precomputed layout table for hidden types ↗ apple/swift
  5. [5] [cxx-interop] Guard Span-referencing declarations in Cxx module interface behind version check ↗ apple/swift
  6. [6] [swift-snapshot-tool] Improve swift-snapshot-tool bisect reliability and cache GitHub API calls ↗ apple/swift

Quick answers

What shipped in Mobile platforms on May 17, 2026?
Flutter's Impeller renderer was silently binding shader uniform members to invalid GL locations on pre-GLSL 1.40 targets, causing rendering corruption that looked like driver bugs. In total, 8 commits and 8 pull requests landed.
Who contributed to Mobile platforms on May 17, 2026?
5 developers shipped this update, including bdero, master-wayne7, nkcsgexi, patrykstefanski, and gottesmm.
What were the notable Mobile platforms updates?
[Impeller] Canonicalize uniform block instance names for the GL backends, refactor: Remove material imports from Widget tests, and [widgets] Use super parameters in missed spots (#186198).

More from Mobile platforms

Daily updates, in your inbox

Follow Mobile platforms

Keep up with Mobile platforms in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?