[impeller] prevent PowerVR from using Vulkan backend. (#161841)
Almost all remaining blackscreen or rendering bugs/crashes are PowerVR hardware. Based on common knowledge that several large engines prevent PowerVR completely, we'll also block PowerVR until we have time to accumulate the necessary workarounds. --------- Co-authored-by: Navaron Bracke <brackenavaron@gmail.com>
This commit is contained in:
parent
52cfc8b073
commit
f5a13cacb0
@ -334,6 +334,14 @@ bool DriverInfoVK::IsKnownBadDriver() const {
|
|||||||
if (vendor_ == VendorVK::kHuawei) {
|
if (vendor_ == VendorVK::kHuawei) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// https://github.com/flutter/flutter/issues/161122
|
||||||
|
// https://github.com/flutter/flutter/issues/160960
|
||||||
|
// https://github.com/flutter/flutter/issues/160866
|
||||||
|
// https://github.com/flutter/flutter/issues/160804
|
||||||
|
// https://github.com/flutter/flutter/issues/160406
|
||||||
|
if (vendor_ == VendorVK::kImgTec) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,4 +222,17 @@ TEST(DriverInfoVKTest, CanUseFramebufferFetch) {
|
|||||||
EXPECT_TRUE(CanUseFramebufferFetch("Mali-G51", false));
|
EXPECT_TRUE(CanUseFramebufferFetch("Mali-G51", false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(DriverInfoVKTest, AllPowerVRDisabled) {
|
||||||
|
auto const context =
|
||||||
|
MockVulkanContextBuilder()
|
||||||
|
.SetPhysicalPropertiesCallback(
|
||||||
|
[](VkPhysicalDevice device, VkPhysicalDeviceProperties* prop) {
|
||||||
|
prop->vendorID = 0x1010;
|
||||||
|
prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
|
||||||
|
})
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
EXPECT_TRUE(context->GetDriverInfo()->IsKnownBadDriver());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace impeller::testing
|
} // namespace impeller::testing
|
||||||
|
Loading…
x
Reference in New Issue
Block a user