-
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
[Impeller] compute UVs in vertex stage. #52106
[Impeller] compute UVs in vertex stage. #52106
Conversation
@@ -79,7 +80,6 @@ impeller_shaders("modern_entity_shaders") { | |||
"shaders/gradients/radial_gradient_ssbo_fill.frag", | |||
"shaders/gradients/sweep_gradient_ssbo_fill.frag", | |||
"shaders/geometry/points.comp", | |||
"shaders/geometry/uv.comp", |
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.
1 for 1!
float16_t(frag_info.y_tile_mode) // y tile mode | ||
) * | ||
float16_t(frag_info.alpha); | ||
if (supports_decal == 1.0) { |
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.
Allows metal, vulkan, and most gles devices to use this shader at no additional cost over the texture_fill shader.
@@ -129,10 +129,8 @@ using TexturePipeline = | |||
using TextureStrictSrcPipeline = | |||
RenderPipelineHandle<TextureFillVertexShader, | |||
TextureFillStrictSrcFragmentShader>; | |||
using PositionUVPipeline = RenderPipelineHandle<TextureFillVertexShader, |
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.
Unused
come on goldens, please be good lol |
📿 |
And we're good |
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.
This works way nicer! I didn't pay super close attention to the deletions on of the calculation on the CPU but trust they were mechanical.
…147125) flutter/engine@40110ec...1ac3ce3 2024-04-20 [email protected] [Impeller] compute UVs in vertex stage. (flutter/engine#52106) 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],[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
This reverts commit 1ac3ce3.
…lutter#147125) flutter/engine@40110ec...1ac3ce3 2024-04-20 [email protected] [Impeller] compute UVs in vertex stage. (flutter/engine#52106) 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],[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
Compute texture UVs in the vertex stage. Reland of #52106 which was reverted to investigate golden failures during the x64 to arm64 mac switch.
Split the functionality of texture_fill and tiled_texture_fill vertex stages:
With this functionality, we can delete all of the CPU based uv computation code. Additionally, there is some clean up to remove support for external textures (which use the tiled texture mode) from the texture contents. The external textures are used with an image shader/draw rect by internal engine code and won't go down the drawImageRect path anymore.