-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Turns on the Metal validator for impeller_unittests. #40998
Conversation
|
I patched in jonahs change to verify it fixes the problem (i don't have an x86_64 machine to test locally). I'll revert it after the test. |
|
You'll need one more cmmit to make it work (I messed up the mipmap setting) |
|
I rebased after the upload to private patch landed. If these all pass we should land it this week |
|
Does this need another rebase? |
Ahh no I don't think so. It looks like our tests genuinely fail with validation turned on. I can take a look at this later today or next week. I thought this passed locally and didn't follow up with the CI results. |
|
On ci |
c1aade8 to
c23cdeb
Compare
|
Looks like the tests pass on debug builds, but on profile builds and release builds there are validation errors. |
|
I've tried to reproduce the failure in the profile build locally 3 times, but it runs fine locally. I'll attempt a rerun to see if we get the same failure or a different failure. For reference the previous failure was: reproductions steps |
|
This is jonah's fix to the validation problem: #41001 There is no obvious reason why that change would behave differently on debug and profile builds. |
|
Weird, on "Mac mac_host_engine" the debug build passes, on "Linux mac_unopt" it doesn't pass so we can just run with validation for debug builds. @jonahwilliams Do you have any theories why we are still running into this issue, even after a rebase and why we seem to be seeing different results locally? |
|
WTF is "Linux mac_unopt" 🤔 |
The orchestrator is Linux and the actual build is on a mac. It's an engine v2 thing because we have more Linux capacity. |
|
Do we know which tests are failing? There is a lot more usage of StorageMode::kHostVisible than the one I removed |
|
I've seen these fail:
Do we have bots that run on arm64? Maybe we could just turn off x86_64 validation for now. |
|
Oh you know what, you probably need a discrete graphics card to actually get the failure locally. Running through rosetta probably isn't enough. I can simulate this failure with conditional compilation possibly. In the meantime I've asked godofredo if we can possibly just turn this on for arm64 bots. I'm not sure if we are guaranteed an execution on an arm64 bot. |
|
I can reproduce the problem with the following patch: --- a/impeller/renderer/backend/metal/texture_mtl.mm
+++ b/impeller/renderer/backend/metal/texture_mtl.mm
@@ -15,6 +15,10 @@ TextureMTL::TextureMTL(TextureDescriptor p_desc,
: Texture(p_desc), texture_(texture) {
const auto& desc = GetTextureDescriptor();
+#if __x86_64__
+ FML_DCHECK(desc.storage_mode == impeller::StorageMode::kDevicePrivate);
+#endif
+
if (!desc.IsValid() || !texture_) {
return;
}Naively switching to |
|
Lets revert the patched I added to upload to device private then. We can deal with x86_64 when we get to it |
c30e8d5 to
bb986f5
Compare
…125833) flutter/engine@687f4c7...58cc541 2023-05-01 [email protected] Roll Fuchsia Mac SDK from NBgD7NzOpwnAULR_g... to u7iIoiSX4y8WV6Of1... (flutter/engine#41641) 2023-05-01 [email protected] Add the verify exported symbols to linux builds. (flutter/engine#41635) 2023-05-01 [email protected] [Impeller] Turns on the Metal validator for impeller_unittests. (flutter/engine#40998) 2023-05-01 [email protected] [Impeller] Remove duplicate component in path.h (flutter/engine#41639) 2023-05-01 [email protected] Forward fix for roll of Dart SDK to version with new checked-in SDK (flutter/engine#41634) 2023-05-01 [email protected] Roll Skia from 1a6a1e905518 to 82d1ef7a833e (5 revisions) (flutter/engine#41637) Also rolling transitive DEPS: fuchsia/sdk/core/mac-amd64 from NBgD7NzOpwnA to u7iIoiSX4y8W 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
fixes flutter/flutter#121017
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.