-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] disable Adreno 630 vulkan and add mechanism for android driver denylisting. #54920
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,6 +4,7 @@ | |
|
|
||
| #include "flutter/shell/platform/android/android_context_vk_impeller.h" | ||
|
|
||
| #include "flutter/fml/logging.h" | ||
| #include "flutter/fml/paths.h" | ||
| #include "flutter/impeller/entity/vk/entity_shaders_vk.h" | ||
| #include "flutter/impeller/entity/vk/framebuffer_blend_shaders_vk.h" | ||
|
|
@@ -67,6 +68,11 @@ static std::shared_ptr<impeller::Context> CreateImpellerContext( | |
| FML_LOG(IMPORTANT) << "Using the Impeller rendering backend (Vulkan)."; | ||
| } | ||
| } | ||
| if (context->GetDriverInfo()->IsKnownBadDriver()) { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps an INFO log saying this happened? Or will this cause issues with tests further down the line?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How would that log be actionable?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To the end user, it won't. But perhaps useful to know for us when we expect Vulkan but get OpenGL.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do you need a null check on |
||
| FML_LOG(INFO) | ||
| << "Known bad Vulkan driver encountered, falling back to OpenGLES."; | ||
| return nullptr; | ||
| } | ||
|
|
||
| return context; | ||
| } | ||
|
|
||
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.
Do we know which shader this is? I'll try to follow up.
We can catch up afterwards about this. Not blocking.
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.
Porterduff and conical gradient ssbo