PackageTrack
Sign in Get early access

flutter_gpu_shaders

Build tools for Flutter GPU shader bundles/libraries.

0.5.2 38K downloads/mo #1653 most downloaded on pub.dev bdero/flutter_gpu_shaders

What this package is like to depend on

Last release 12 days ago

11 Aug 2026

Ships unpredictably

gaps range from 2 weeks to 13 months

Nearly every release is documented

notes for 15 of 15 stable releases

Nothing withdrawn

no release was ever pulled

2 years old

15 releases · first in 2024

8 releases in the last 12 months

see the full history below

Release timeline

15 releases · Jul 2024 to Aug 2026
2025 2026
Release Pre-release

Releases

latest 15
  1. 0.5.2 11 Aug 2026
    Release notes
    • Track the impellerc binary as a build input, so bundles rebuild whenever the engine artifacts change.
    • Write an engine stamp beside each bundle, so a shared pub-cache bundle rewritten by another project (or Flutter SDK) triggers a rebuild instead of shipping a wrong-engine bundle.
    • Recover depfile dependency paths containing spaces (impellerc writes them unescaped); a split path declared a nonexistent dependency, which made the hook re-run on every build for SDKs under paths like Application Support.
    Open source →
    Release notes
    • Track the impellerc binary as a build input, so bundles rebuild whenever the engine artifacts change.
    • Write an engine stamp beside each bundle, so a shared pub-cache bundle rewritten by another project (or Flutter SDK) triggers a rebuild instead of shipping a wrong-engine bundle.
    • Recover depfile dependency paths containing spaces (impellerc writes them unescaped); a split path declared a nonexistent dependency, which made the hook re-run on every build for SDKs under paths like Application Support.
    Open source →
  2. 0.5.1 13 Jun 2026
    Release notes
    • Added a glesLanguageVersion option to buildShaderBundleJson (and shaderBundleImpellercArguments), forwarded to impellerc as --gles-language-version. Setting 300 emits #version 300 es OpenGL ES shaders, where explicit-LOD sampling and derivatives are core rather than extension-gated.
    • findImpellerC now also probes the linux-arm64 and windows-arm64 engine artifact directories; the previous x64-only list failed on Linux arm64 hosts.
    Open source →
    Release notes
    • Added a glesLanguageVersion option to buildShaderBundleJson (and shaderBundleImpellercArguments), forwarded to impellerc as --gles-language-version. Setting 300 emits #version 300 es OpenGL ES shaders, where explicit-LOD sampling and derivatives are core rather than extension-gated.
    • findImpellerC now also probes the linux-arm64 and windows-arm64 engine artifact directories; the previous x64-only list failed on Linux arm64 hosts.
    Open source →
  3. 0.5.0 07 Jun 2026
    Release notes
    • Fixed dependency tracking that made the build hook re-run on every build. Manifest file entries are now resolved against the package root (matching how impellerc resolves them) instead of the manifest's directory, which had produced doubled, non-existent paths for manifests in a subdirectory.
    • Generated shader sources written under the package's build/ directory are no longer declared as build dependencies; depending on a regenerated output made the hook perpetually out of date. Declare the real sources that produce them instead.
    • Breaking: collectShaderBundleDependencies now requires a packageRoot argument (used to resolve manifest file paths). Most consumers use buildShaderBundleJson, whose signature is unchanged.
    Open source →
    Release notes
    • Fixed dependency tracking that made the build hook re-run on every build. Manifest file entries are now resolved against the package root (matching how impellerc resolves them) instead of the manifest's directory, which had produced doubled, non-existent paths for manifests in a subdirectory.
    • Generated shader sources written under the package's build/ directory are no longer declared as build dependencies; depending on a regenerated output made the hook perpetually out of date. Declare the real sources that produce them instead.
    • Breaking: collectShaderBundleDependencies now requires a packageRoot argument (used to resolve manifest file paths). Most consumers use buildShaderBundleJson, whose signature is unchanged.
    Open source →
  4. 0.4.5 28 May 2026
    Release notes

    Changes

    • Added optional Dart DataAssets registration for generated shader bundles via ShaderBundleAssetMode.
    • dataAssetsIfAvailable registers the generated .shaderbundle with the Flutter asset bundle when supported and falls back to legacy file output otherwise.
    • buildShaderBundleJson now returns ShaderBundleBuildResult, including legacy and DataAsset asset keys when available.

    Published to pub.dev: https://pub.dev/packages/flutter_gpu_shaders/versions/0.4.5

    Open source →
    Release notes
    • Added optional Dart DataAssets registration for shader bundles via ShaderBundleAssetMode. The default remains legacy file output under build/shaderbundles/, while dataAssetsIfAvailable registers the generated .shaderbundle with the Flutter asset bundle when supported and falls back otherwise.
    • buildShaderBundleJson now returns ShaderBundleBuildResult, including the legacy asset key and DataAsset/Flutter asset keys when a DataAsset is emitted.
    Open source →
  5. 0.4.4 26 May 2026
    Release notes
    • buildShaderBundleJson now consumes impellerc depfiles when the resolved compiler advertises --depfile support. This lets newer Flutter SDKs track transitive shader #include dependencies while preserving the existing manifest dependency scan for older impellerc builds that do not support the flag or do not emit a depfile in --shader-bundle mode.
    • buildShaderBundleJson accepts an includeDirectories parameter: extra directories appended to impellerc's #include search path, after the manifest directory and the bundled shader_lib. This lets a build hook compile shaders that #include reusable GLSL shipped by another package, by resolving that package's shader directory and passing it through. Files resolved this way are not auto-declared as build dependencies; declare them via the build output if edits to them should retrigger the build.
    • New shaderBundleImpellercArguments(...) helper returns the exact impellerc argument list, exposed for inspection from custom build hooks and tests.
    Open source →
  6. 0.4.2 10 May 2026
    Release notes
    • findImpellerC now also honors a runtime IMPELLERC environment variable in addition to the compile-time define. flutter_tools populates this for build hook subprocesses (https://github.com/flutter/flutter/pull/186300), including the --local-engine case where the locally built impellerc should be used in preference to the SDK cache. Compile-time define takes precedence; runtime env var is checked next; otherwise the existing SDK cache lookup runs.
    Open source →
  7. 0.4.1 09 May 2026
    Release notes
    • Documentation: update README.md and buildShaderBundleJson dartdoc to reflect the 0.4.0 migration (drop the obsolete flutter config --enable-native-assets step, swap the import, and rename buildConfig:buildInput: to match the parameter name introduced in 0.3.0). No code changes.
    Open source →
  8. 0.4.0 09 May 2026
    Release notes
    • Migrate from native_assets_cli (discontinued) to hooks 1.0. Build hook authors must now import 'package:hooks/hooks.dart'; instead of package:native_assets_cli/native_assets_cli.dart.
    • Bump SDK constraint to ^3.7.0 (matches hooks 1.0 requirements).
    Open source →
  9. 0.3.0 13 Apr 2025
    Release notes
    • Update to native_assets_cli to 0.13.0. (https://github.com/bdero/flutter_gpu_shaders/issues/6) Breaking: BuildConfig is now BuildInput
    Open source →
  10. 0.2.0 07 Nov 2024
    Release notes
    • Update to native_assets_cli 0.9.0. Breaking: BuildOutput is now BuildOutputBuilder
    Open source →
  11. 0.1.4 06 Nov 2024
    Release notes
    • Pin native_assets_cli to <0.9.0. (https://github.com/bdero/flutter_gpu_shaders/issues/3)
    Open source →
  12. 0.1.3 04 Oct 2024
    Release notes
    • Relax native_assets_cli dependency pin.
    Open source →
  13. 0.1.2 08 Aug 2024
    Release notes
    • Fix SDK path resolution for puro users.
    Open source →
  14. 0.1.1 23 Jul 2024
    Release notes
    • Fix working directory for impellerc invocation.
    Open source →
  15. 0.1.0 22 Jul 2024
    Release notes
    • Add buildShaderBundleJson build hook utility.
    • Document usage instructions in the readme.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive