13 : native_window_(native_window) {
14 if (native_window_ ==
nullptr) {
17 ANativeWindow_acquire(native_window_);
21 if (native_window_ ==
nullptr) {
24 ANativeWindow_release(native_window_);
29 return VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
36 return VK_NULL_HANDLE;
39 const VkAndroidSurfaceCreateInfoKHR create_info = {
40 .sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
43 .window = native_window_,
46 VkSurfaceKHR
surface = VK_NULL_HANDLE;
50 return VK_NULL_HANDLE;
57 return native_window_ !=
nullptr;
61 return native_window_ ==
nullptr
63 : SkISize::Make(ANativeWindow_getWidth(native_window_),
64 ANativeWindow_getHeight(native_window_));
VulkanNativeSurfaceAndroid(ANativeWindow *native_window)
VkSurfaceKHR CreateSurfaceHandle(VulkanProcTable &vk, const VulkanHandle< VkInstance > &instance) const override
const char * GetExtensionName() const override
SkISize GetSize() const override
bool IsValid() const override
~VulkanNativeSurfaceAndroid()
#define VK_CALL_LOG_ERROR(expression)
struct ANativeWindow ANativeWindow