Skip to content

Change InkSparkle SPIR-V byte code from static const to a file to prepare for Impeller #99783

Activity

  1. added
    frameworkflutter/packages/flutter repository. See also f: labels.
    p: material_uimaterial_ui package in flutter/packages
    e: impellerImpeller rendering backend issues and features requests
    on Mar 8, 2022
  2. zanderso commented on Apr 7, 2022

    @zanderso
    Member

    Is there any update on this? My understanding from the discussion on the PR was that that this would be a quick follow-up.

    @chriscraws @HansMuller @goderbauer

  3. HansMuller commented on Apr 7, 2022

    @HansMuller
    Contributor

    We've discussed this (@clocksmith). A PR that uses a precompiled asset is forthcoming.

  4. clocksmith commented on Apr 7, 2022

    @clocksmith
    ContributorAuthor

    May need some quick help on setting this up, but I can take a look

  5. zanderso commented on Apr 7, 2022

    @zanderso
    Member

    An example of an asset needed for material is the material fonts. The data for the shader can be handled in a similar way. Here's the code in the tool where the fonts are bundled as assets whenever uses-material-design is in the pubspec:

    https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/asset.dart#L493

    With that wired up, the shader data can be loaded like any other asset. Fetching the data and making a bytebuffer out of it would probably have to be made async:

    ByteBuffer get spirvByteBuffer => Uint8List.fromList(_spirvByteList).buffer;

    But the shader transpiling is already async, so that should not cause any difficulties.

    cc @goderbauer and @dnfield in case any of that needs clarification.

  6. clocksmith commented on Apr 7, 2022

    @clocksmith
    ContributorAuthor

    Ok this looks relatively straight forward. I will try to send something out by tomorrow. Thanks!

  7. clocksmith commented on Apr 11, 2022

    @clocksmith
    ContributorAuthor

    #101699

    Question: what folder should ink_sparkle.spv be placed in? For this WIP, I placed it in a sibling directory of material_fonts, but that is under the root directory bin/cache, which seems wrong.

  8. zanderso commented on Apr 11, 2022

    @zanderso
    Member

    Stuff in bin/cache is populated by the tool downloading data from e.g. google storage. It will get blown away since it isn't part of the repo. I'd suggest putting shaders in the source tree. Maybe in packages/flutter/lib/src/material/shaders or packages/flutter/data/shaders. I think we should get advice from @goderbauer for this though.

  9. dnfield commented on Apr 11, 2022

    @dnfield
    Contributor

    We should not check in binary files to the repo.

    Can we store this the same way that the material fonts are stored in a GCS bucket?

  10. dnfield commented on Apr 11, 2022

    @dnfield
    Contributor

    Alternatively, can we check in the source code here and compile it at build time?

  11. dnfield commented on Apr 11, 2022

    @dnfield
    Contributor

    (or perhaps compile it during the tool build process)

  12. 12 remaining items

  13. dnfield commented on Apr 11, 2022

    @dnfield
    Contributor

    I believe there's a script that will flag this if we try to add it as a binary asset. We've intentionally made it challenging to add new binary assets to avoid things like this.

    We'd never have to remove the asset from the GCS bucket. Maybe there's an argument to make that this should get an exception because it was already in the repo as a binary asset embedded in source code and embedded there in a less efficient manner...

  14. clocksmith commented on Apr 20, 2022

    @clocksmith
    ContributorAuthor

    Pending question in #101699

  15. clocksmith commented on May 2, 2022

    @clocksmith
    ContributorAuthor
  16. zanderso commented on May 6, 2022

    @zanderso
    Member

    This is done.

  17. github-actions commented on May 20, 2022

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  18. locked as resolved and limited conversation to collaborators on May 20, 2022
  19. moved this to Todo in Material 3on May 23, 2022
  20. moved this from Todo to Done in Material 3on May 23, 2022
  21. changed the title [-][Material] [InkSparkle] Change SPIR-V byte code from static const to a file to prepare for Impeller[/-] [+][InkSparkle] Change SPIR-V byte code from static const to a file to prepare for Impeller[/+] on May 23, 2022
  22. changed the title [-][InkSparkle] Change SPIR-V byte code from static const to a file to prepare for Impeller[/-] [+]Change InkSparkle SPIR-V byte code from static const to a file to prepare for Impeller[/+] on May 23, 2022
  23. changed the title [-]Change InkSparkle SPIR-V byte code from static const to a file to prepare for Impeller[/-] [+]Change `InkSparkle` SPIR-V byte code from static const to a file to prepare for Impeller[/+] on May 24, 2022
  24. added
    P0Critical issues such as a build break or regression
    and removed on Jun 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P0Critical issues such as a build break or regressione: impellerImpeller rendering backend issues and features requestsframeworkflutter/packages/flutter repository. See also f: labels.p: material_uimaterial_ui package in flutter/packages

Type

No type

Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions