8 #include "flutter/testing/testing.h"
9 #include "gtest/gtest.h"
21 auto instance_proc_addr =
22 vulkan_dylib->ResolveFunction<PFN_vkGetInstanceProcAddr>(
23 "vkGetInstanceProcAddr");
25 if (!instance_proc_addr.has_value()) {
40 TEST(AndroidVulkanTest, CanImportRGBA) {
42 GTEST_SKIP() <<
"Hardware buffers are not supported on this platform.";
50 auto ahb = std::make_unique<HardwareBuffer>(desc);
53 ASSERT_TRUE(context_vk);
61 context_vk->Shutdown();
64 TEST(AndroidVulkanTest, CanImportWithYUB) {
66 GTEST_SKIP() <<
"Hardware buffers are not supported on this platform.";
69 AHardwareBuffer_Desc desc;
72 desc.format = AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420;
77 desc.usage = AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE |
78 AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK |
79 AHARDWAREBUFFER_USAGE_CPU_READ_MASK;
81 EXPECT_EQ(AHardwareBuffer_isSupported(&desc), 1);
83 AHardwareBuffer* buffer =
nullptr;
84 ASSERT_EQ(AHardwareBuffer_allocate(&desc, &buffer), 0);
87 ASSERT_TRUE(context_vk);
94 context_vk->Shutdown();
A texture source that wraps an instance of AHardwareBuffer.
std::shared_ptr< YUVConversionVK > GetYUVConversion() const override
When sampling from textures whose formats are not known to Vulkan, a custom conversion is necessary t...
static std::shared_ptr< ContextVK > Create(Settings settings)
static bool IsAvailableOnPlatform()
std::shared_ptr< Context > CreateContext()
TEST(AndroidVulkanTest, CanImportRGBA)
ScopedObject< Object > Create(CtorArgs &&... args)
bool enable_surface_control
std::vector< std::shared_ptr< fml::Mapping > > shader_libraries_data
PFN_vkGetInstanceProcAddr proc_address_callback
A descriptor use to specify hardware buffer allocations.
HardwareBufferUsage usage
HardwareBufferFormat format