Skip to content

Replace Shader definition from typealias to wrapper for non-android platforms - #2810

Merged
Ivan Matkov (MatkovIvan) merged 1 commit into
jb-mainfrom
ivan.matkov/shader-wrapper
Mar 3, 2026
Merged

Replace Shader definition from typealias to wrapper for non-android platforms#2810
Ivan Matkov (MatkovIvan) merged 1 commit into
jb-mainfrom
ivan.matkov/shader-wrapper

Conversation

@MatkovIvan

@MatkovIvan Ivan Matkov (MatkovIvan) commented Mar 2, 2026

Copy link
Copy Markdown
Collaborator

CMP-9812 Shader wrapper migration for non-android platforms

Release Notes

Breaking Changes - Multiple Platforms

  • To decouple common Compose graphics APIs from direct Skia/Skiko types, non-Android Shader is now a dedicated Compose wrapper type. Since it's not an ABI-compatible change, you might need to update some libraries that use this API to newer, compatible versions. Migration:
    • If you pass raw Skia/Skiko shaders into Compose APIs, wrap with SkShader.asComposeShader().
    • If you need low-level Skia/Skiko access from Compose Shader, use Shader.skiaShader extension.
Base automatically changed from ivan.matkov/align-ext-naming to jb-main March 2, 2026 15:54
Comment thread compose/ui/ui-graphics/api/desktop/ui-graphics.api
@MatkovIvan
Ivan Matkov (MatkovIvan) merged commit 30a074f into jb-main Mar 3, 2026
33 of 34 checks passed
@MatkovIvan
Ivan Matkov (MatkovIvan) deleted the ivan.matkov/shader-wrapper branch March 3, 2026 08:29
Zahari Zahariev (harryzz) pushed a commit to harryzz/compose-multiplatform-core that referenced this pull request Jul 28, 2026
…d platforms (JetBrains#2810)

[CMP-9812](https://youtrack.jetbrains.com/issue/CMP-9812) `Shader`
wrapper migration for non-android platforms

## Release Notes
### Breaking Changes - Multiple Platforms
- To decouple common Compose graphics APIs from direct Skia/Skiko types,
non-Android `Shader` is now a dedicated Compose wrapper type. Since it's
not an ABI-compatible change, you might need to update some libraries
that use this API to newer, compatible versions. Migration:
- If you pass raw Skia/Skiko shaders into Compose APIs, wrap with
`SkShader.asComposeShader()`.
- If you need low-level Skia/Skiko access from Compose Shader, use
`Shader.skiaShader` extension.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants