9 #include "impeller/renderer/backend/vulkan/test/mock_vulkan.h"
17 ASSERT_TRUE(GetContext());
18 const auto& driver_info =
20 ASSERT_NE(driver_info,
nullptr);
22 ASSERT_TRUE(driver_info->GetAPIVersion().IsAtLeast(
Version{1, 1, 0}));
25 ASSERT_NE(driver_info->GetDriverName(),
"");
26 EXPECT_FALSE(driver_info->IsKnownBadDriver());
30 ASSERT_TRUE(GetContext());
31 const auto& driver_info =
33 ASSERT_NE(driver_info,
nullptr);
34 fml::testing::LogCapture log;
35 driver_info->DumpToLog();
36 EXPECT_TRUE(log.str().find(
"Driver Information") != std::string::npos);
41 MockVulkanContextBuilder()
42 .SetPhysicalPropertiesCallback(
43 [](VkPhysicalDevice device, VkPhysicalDeviceProperties* prop) {
44 prop->vendorID = 0x19E5;
45 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
49 EXPECT_TRUE(context->GetDriverInfo()->IsKnownBadDriver());
54 MockVulkanContextBuilder()
55 .SetPhysicalPropertiesCallback(
56 [&driver_name, qc](VkPhysicalDevice device,
57 VkPhysicalDeviceProperties* prop) {
59 prop->vendorID = 0x168C;
61 prop->vendorID = 0x13B5;
63 driver_name.copy(prop->deviceName, driver_name.size());
64 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
67 return context->GetDriverInfo()->IsKnownBadDriver();
72 MockVulkanContextBuilder()
73 .SetPhysicalPropertiesCallback(
74 [&driver_name, qc](VkPhysicalDevice device,
75 VkPhysicalDeviceProperties* prop) {
77 prop->vendorID = 0x168C;
79 prop->vendorID = 0x13B5;
81 driver_name.copy(prop->deviceName, driver_name.size());
82 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
100 MockVulkanContextBuilder()
101 .SetPhysicalPropertiesCallback(
102 [&driver_name, qc](VkPhysicalDevice device,
103 VkPhysicalDeviceProperties* prop) {
105 prop->vendorID = 0x168C;
107 prop->vendorID = 0x13B5;
109 driver_name.copy(prop->deviceName, driver_name.size());
110 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
128 MockVulkanContextBuilder()
129 .SetPhysicalPropertiesCallback(
130 [&driver_name, qc](VkPhysicalDevice device,
131 VkPhysicalDeviceProperties* prop) {
133 prop->vendorID = 0x168C;
135 prop->vendorID = 0x13B5;
137 driver_name.copy(prop->deviceName, driver_name.size());
138 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
198 MockVulkanContextBuilder()
199 .SetPhysicalPropertiesCallback(
200 [&driver_name, qc](VkPhysicalDevice device,
201 VkPhysicalDeviceProperties* prop) {
203 prop->vendorID = 0x168C;
205 prop->vendorID = 0x13B5;
207 driver_name.copy(prop->deviceName, driver_name.size());
208 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
227 MockVulkanContextBuilder()
228 .SetPhysicalPropertiesCallback(
229 [](VkPhysicalDevice device, VkPhysicalDeviceProperties* prop) {
230 prop->vendorID = 0x144D;
231 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
233 prop->apiVersion = (1 << 22) | (1 << 12);
237 EXPECT_TRUE(context->GetDriverInfo()->IsKnownBadDriver());
240 MockVulkanContextBuilder()
241 .SetPhysicalPropertiesCallback(
242 [](VkPhysicalDevice device, VkPhysicalDeviceProperties* prop) {
243 prop->vendorID = 0x144D;
244 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
246 prop->apiVersion = (1 << 22) | (3 << 12);
250 EXPECT_FALSE(context->GetDriverInfo()->IsKnownBadDriver());
255 MockVulkanContextBuilder()
256 .SetPhysicalPropertiesCallback(
257 [](VkPhysicalDevice device, VkPhysicalDeviceProperties* prop) {
258 prop->vendorID = 0x1010;
259 prop->deviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
263 EXPECT_TRUE(context->GetDriverInfo()->IsKnownBadDriver());
static SurfaceContextVK & Cast(Context &base)
const std::shared_ptr< ContextVK > & GetParent() const
bool CanUseFramebufferFetch(std::string_view driver_name, bool qc=true)
TEST(AllocationSizeTest, CanCreateTypedAllocations)
bool CanUseMipgeneration(std::string_view driver_name, bool qc=true)
TEST_P(AiksTest, DrawAtlasNoColor)
bool IsBadVersionTest(std::string_view driver_name, bool qc=true)
INSTANTIATE_VULKAN_PLAYGROUND_SUITE(DriverInfoVKTest)
bool CanUsePrimitiveRestartSubmitTest(std::string_view driver_name, bool qc=true)
bool CanBatchSubmitTest(std::string_view driver_name, bool qc=true)
MaliGPU GetMaliVersion(std::string_view version)
AdrenoGPU GetAdrenoVersion(std::string_view version)
WorkaroundsVK GetWorkaroundsFromDriverInfo(DriverInfoVK &driver_info)
bool broken_mipmap_generation
bool batch_submit_command_buffer_timeout
bool slow_primitive_restart_performance
bool input_attachment_self_dependency_broken