diff --git a/src/vulkan/runtime/vk_android.c b/src/vulkan/runtime/vk_android.c index df4efae1b5f..05dc459237e 100644 --- a/src/vulkan/runtime/vk_android.c +++ b/src/vulkan/runtime/vk_android.c @@ -40,6 +40,28 @@ #include +static struct u_gralloc *u_gralloc; + +struct u_gralloc * +vk_android_get_ugralloc(void) +{ + return u_gralloc; +} + +struct u_gralloc * +vk_android_init_ugralloc(void) +{ + u_gralloc = u_gralloc_create(U_GRALLOC_TYPE_AUTO); + + return u_gralloc; +} + +void +vk_android_destroy_ugralloc(void) +{ + u_gralloc_destroy(&u_gralloc); +} + #if ANDROID_API_LEVEL >= 26 #include diff --git a/src/vulkan/runtime/vk_android.h b/src/vulkan/runtime/vk_android.h index 496b6c54751..1945840188a 100644 --- a/src/vulkan/runtime/vk_android.h +++ b/src/vulkan/runtime/vk_android.h @@ -31,6 +31,31 @@ extern "C" { #endif +struct u_gralloc; + +#if DETECT_OS_ANDROID +struct u_gralloc *vk_android_get_ugralloc(void); +struct u_gralloc *vk_android_init_ugralloc(void); +void vk_android_destroy_ugralloc(void); +#else +static inline struct u_gralloc * +vk_android_get_ugralloc(void) +{ + return NULL; +} + +static inline struct u_gralloc * +vk_android_init_ugralloc(void) +{ + return NULL; +} + +static inline void +vk_android_destroy_ugralloc(void) +{ +} +#endif + #if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26 VkFormat vk_ahb_format_to_image_format(uint32_t ahb_format);