vulkan: #if DETECT_OS_ANDROID --> #if defined(VK_USE_PLATFORM_ANDROID_KHR)

The use of the bionic toolchain (DETECT_OS_ANDROID) does not mean
that the typical set of Android libraries (nativewindow, gralloc)
are used on the system.

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36829>
This commit is contained in:
Gurchetan Singh 2025-08-11 17:59:05 -07:00 committed by Marge Bot
parent 2d597b6919
commit 11a6a49534
9 changed files with 25 additions and 25 deletions

View file

@ -37,7 +37,7 @@ struct u_gralloc;
struct vk_device;
struct vk_image;
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
struct u_gralloc *vk_android_get_ugralloc(void);
@ -79,7 +79,7 @@ vk_android_get_anb_layout(
#endif
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26
#if defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26
struct AHardwareBuffer;
@ -110,7 +110,7 @@ void vk_android_get_ahb_buffer_properties(
const VkPhysicalDeviceExternalBufferInfo *info,
VkExternalBufferProperties *props);
#else /* DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26 */
#else /* defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26 */
static inline uint64_t
vk_android_get_front_buffer_usage(void)

View file

@ -305,7 +305,7 @@ vk_common_SetDebugUtilsObjectNameEXT(
{
VK_FROM_HANDLE(vk_device, device, _device);
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (pNameInfo->objectType == VK_OBJECT_TYPE_SWAPCHAIN_KHR ||
pNameInfo->objectType == VK_OBJECT_TYPE_SURFACE_KHR) {
#else

View file

@ -218,10 +218,10 @@ vk_device_init(struct vk_device *device,
UNREACHABLE("Invalid timeline mode");
}
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
mtx_init(&device->swapchain_private_mtx, mtx_plain);
device->swapchain_private = NULL;
#endif /* DETECT_OS_ANDROID */
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
simple_mtx_init(&device->trace_mtx, mtx_plain);
@ -284,13 +284,13 @@ vk_device_finish(struct vk_device *device)
vk_device_memory_report_finish(device);
vk_memory_trace_finish(device);
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (device->swapchain_private) {
hash_table_foreach(device->swapchain_private, entry)
util_sparse_array_finish(entry->data);
ralloc_free(device->swapchain_private);
}
#endif /* DETECT_OS_ANDROID */
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
simple_mtx_destroy(&device->trace_mtx);

View file

@ -27,7 +27,7 @@
#include "vk_common_entrypoints.h"
#include "vk_util.h"
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26
#if defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26
#include <vndk/hardware_buffer.h>
#endif
@ -56,7 +56,7 @@ vk_device_memory_create(struct vk_device *device,
}
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26
#if defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26
const VkImportAndroidHardwareBufferInfoANDROID *ahb_info = (void *)ext;
assert(mem->import_handle_type == 0);
@ -80,7 +80,7 @@ vk_device_memory_create(struct vk_device *device,
break;
#else
UNREACHABLE("AHardwareBuffer import requires Android >= 26");
#endif /* DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26 */
#endif /* defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26 */
}
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
@ -182,15 +182,15 @@ vk_device_memory_destroy(struct vk_device *device,
struct vk_device_memory *mem)
{
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26
#if defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26
if (mem->ahardware_buffer)
AHardwareBuffer_release(mem->ahardware_buffer);
#endif /* DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26 */
#endif /* defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26 */
vk_object_free(device, alloc, mem);
}
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26
#if defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26
VkResult
vk_common_GetMemoryAndroidHardwareBufferANDROID(
VkDevice _device,

View file

@ -38,7 +38,7 @@
#include "vk_util.h"
#include "vulkan/wsi/wsi_common.h"
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
#include "vk_android.h"
#include <vulkan/vulkan_android.h>
#endif
@ -100,7 +100,7 @@ vk_image_init(struct vk_device *device,
image->drm_format_mod = ((1ULL << 56) - 1) /* DRM_FORMAT_MOD_INVALID */;
#endif
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (image->external_handle_types &
VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)
image->android_buffer_type = ANDROID_BUFFER_HARDWARE;
@ -159,7 +159,7 @@ vk_image_destroy(struct vk_device *device,
const VkAllocationCallbacks *alloc,
struct vk_image *image)
{
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (image->anb_memory) {
device->dispatch_table.FreeMemory(
(VkDevice)device, image->anb_memory, alloc);

View file

@ -28,7 +28,7 @@
#include "util/detect_os.h"
#include "util/u_math.h"
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
enum android_buffer_type {
ANDROID_BUFFER_NONE = 0,
ANDROID_BUFFER_NATIVE,
@ -88,7 +88,7 @@ struct vk_image {
uint64_t drm_format_mod;
#endif
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
enum android_buffer_type android_buffer_type;
VkDeviceMemory anb_memory;
@ -412,7 +412,7 @@ VkImageLayout vk_att_ref_stencil_layout(const VkAttachmentReference2 *att_ref,
VkImageLayout vk_att_desc_stencil_layout(const VkAttachmentDescription2 *att_desc,
bool final);
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
static inline bool
vk_image_is_android_native_buffer(struct vk_image *image)
{
@ -424,9 +424,9 @@ vk_image_is_android_native_buffer(struct vk_image *image)
{
return false;
}
#endif /* DETECT_OS_ANDROID */
#endif /* VK_USE_PLATFORM_ANDROID_KHR */
#if DETECT_OS_ANDROID && ANDROID_API_LEVEL >= 26
#if defined(VK_USE_PLATFORM_ANDROID_KHR) && ANDROID_API_LEVEL >= 26
static inline bool
vk_image_is_android_hardware_buffer(struct vk_image *image)
{

View file

@ -243,7 +243,7 @@ vk_object_base_private_data(struct vk_device *device,
* vkGet/SetPrivateData call on a swapchain because the loader will
* handle it.
*/
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (objectType == VK_OBJECT_TYPE_SWAPCHAIN_KHR ||
objectType == VK_OBJECT_TYPE_SURFACE_KHR) {
#else

View file

@ -1297,7 +1297,7 @@ vk_queue_finish(struct vk_queue *queue)
vk_queue_submit_destroy(queue, submit);
}
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (queue->anb_semaphore != VK_NULL_HANDLE) {
struct vk_device *device = queue->base.device;
device->dispatch_table.DestroySemaphore(vk_device_to_handle(device),

View file

@ -146,7 +146,7 @@ struct vk_queue {
struct util_dynarray labels;
bool region_begin;
#if DETECT_OS_ANDROID
#ifdef VK_USE_PLATFORM_ANDROID_KHR
/** SYNC_FD signal semaphore for vkQueueSignalReleaseImageANDROID
*
* VK_ANDROID_native_buffer enforces explicit fencing on the present api