[Impeller] OpenGLES: Ensure frag/vert textures are bound with unique texture units.#47218
Conversation
|
I am assuming this is not workflows not currently used in Flutter. But just a heads up that sampling textures from vertex stages should be behind a capability check in OpenGL ES. |
8a5fe45 to
4179626
Compare
jonahwilliams
left a comment
There was a problem hiding this comment.
LGTM
I'm not really familar with the capability check required for textures in vertex shaders. But
If we need to support this in general, we'll need some Vulkan specific fixes too:
- Our Vulkan barriers assume we don't read from textures in the vertex stage.
- The Vulkan render pass code assumes no texture units will be bound in the vertex stage.
These don't need to be fixed now, especially as I would prefer that we not just pessimize the barriers more 😆 😢
I think metal might just work today.
|
Metal for sure works today. And yup, good to know -- we'll definitely need this for 3D animation, so I'll probably need to fix up the barrier once I get around to smoke testing Scene or Flutter GPU stuff against Vulkan. |
… unique texture units. (flutter/engine#47218)
flutter/engine@db06c2e...a0ac6b4 2023-11-01 [email protected] [Impeller] Include cstdint everywhere that uint32_t is used. (flutter/engine#47533) 2023-11-01 [email protected] [Impeller] Fix nullopt access and simplify coverage computation in GetSubpassCoverage. (flutter/engine#47347) 2023-11-01 [email protected] [Impeller] OpenGLES: Ensure frag/vert textures are bound with unique texture units. (flutter/engine#47218) 2023-11-01 [email protected] Roll Fuchsia Linux SDK from LCfhx_lTRJI51G0zc... to _TyF0etsONe5aqCbM... (flutter/engine#47532) 2023-11-01 [email protected] [Impeller] stencil buffer record/replay instead of MSAA storage. (flutter/engine#47397) 2023-11-01 [email protected] [macOS] Delete FlutterCompositor tests (flutter/engine#47527) 2023-10-31 [email protected] [Impeller] Place Rect statics under the Rect template. (flutter/engine#47529) 2023-10-31 [email protected] Roll Skia from aaa225e0cc6d to 34ef20100acc (1 revision) (flutter/engine#47530) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from LCfhx_lTRJI5 to _TyF0etsONe5 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 [email protected],[email protected] 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
The fragment shader texture bindings will smash into the texture units used for the vertex shader bindings if the vertex and fragment shaders both have textures.
Entities doesn't use any pipelines that tickle this case.