-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Flutter GPU] Shader bundle improvements: Uniform structs & member offset reflection, GLES metadata, separate from runtime stage. #49485
Conversation
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.
fa7ccf1
to
f3de8ba
Compare
Add ShaderBundleData Pack struct and member fields into the shader bundle flatbuffer Unpack new shader bundle Wire up new uniforms
8d620d8
to
65d5c56
Compare
65d5c56
to
94e6194
Compare
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
… member offset reflection, GLES metadata, separate from runtime stage. (flutter/engine#49485)
…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