Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@bdero
Copy link
Member

@bdero bdero commented Jan 3, 2024

  • Switch from legacy uniform semantics to uniform structs.
  • Completely separate shader bundle from runtime stage.
  • Packing multiple backends per shader.
  • Pack struct and member fields into the shader bundle flatbuffer.
  • Bind uniforms with correct metadata for GLES.
  • Add uniform struct size and member offset reflection.

@bdero bdero changed the title [Flutter GPU] Pack multiple backends in shader bundles. [Flutter GPU] Shader bundle improvements: Uniform structs & member offset reflection, GLES metadata, separate from runtime stage. Jan 3, 2024
@bdero bdero force-pushed the bdero/flutter-gpu-uniforms branch 2 times, most recently from fa7ccf1 to f3de8ba Compare January 5, 2024 09:27
bdero added 3 commits January 7, 2024 00:49
Add ShaderBundleData

Pack struct and member fields into the shader bundle flatbuffer

Unpack new shader bundle

Wire up new uniforms
@bdero bdero force-pushed the bdero/flutter-gpu-uniforms branch from 8d620d8 to 65d5c56 Compare January 7, 2024 08:50
@bdero bdero force-pushed the bdero/flutter-gpu-uniforms branch from 65d5c56 to 94e6194 Compare January 8, 2024 18:00
@bdero
Copy link
Member Author

bdero commented Jan 8, 2024

Okay, this is finally at a point where I'm mostly happy with it. I need to get a much less trivial example going to feel out how a fuller runtime reflection would work, if any (same would go for utilities like a swapchain/surface helper). Technically we don't actually need member reflection at all, since member alignment should be stable across the backends.

@bdero bdero marked this pull request as ready for review January 8, 2024 18:27
Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

@bdero bdero merged commit 00ff332 into flutter:main Jan 8, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2024
… member offset reflection, GLES metadata, separate from runtime stage. (flutter/engine#49485)
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jan 8, 2024
…141128)

flutter/engine@70c4515...00ff332

2024-01-08 bdero@google.com [Flutter GPU] Shader bundle improvements: Uniform structs & member offset reflection, GLES metadata, separate from runtime stage. (flutter/engine#49485)
2024-01-08 skia-flutter-autoroll@skia.org Roll Skia from 88b7612add02 to a0aba842460c (4 revisions) (flutter/engine#49600)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

No open projects
Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants