Revert "android: moving HMI symbol to separate file"

This reverts commit 6c7f7e4953.

The original change wasn't properly reviewed and the rationale was
obscure. Meanwhile, it was for gfxstream Android frontend which was not
built in upstream mesa at all.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36532>
This commit is contained in:
Yiwei Zhang 2025-08-01 16:40:18 -07:00 committed by Marge Bot
parent 4c7254d105
commit 83b9c13b6f
3 changed files with 68 additions and 80 deletions

View file

@ -60,7 +60,7 @@ if dep_libdrm.found()
endif
if with_platform_android
vulkan_lite_runtime_files += files('vk_android.c', 'vk_android_hal.c')
vulkan_lite_runtime_files += files('vk_android.c')
vulkan_lite_runtime_deps += [dep_android, idep_u_gralloc]
endif

View file

@ -67,6 +67,73 @@ vk_android_get_ugralloc(void)
return _gralloc;
}
static int vk_android_hal_open(const struct hw_module_t *mod, const char *id,
struct hw_device_t **dev);
static_assert(HWVULKAN_DISPATCH_MAGIC == ICD_LOADER_MAGIC, "");
PUBLIC struct hwvulkan_module_t HAL_MODULE_INFO_SYM = {
.common =
{
.tag = HARDWARE_MODULE_TAG,
.module_api_version = HWVULKAN_MODULE_API_VERSION_0_1,
.hal_api_version = HARDWARE_MAKE_API_VERSION(1, 0),
.id = HWVULKAN_HARDWARE_MODULE_ID,
.name = "Mesa 3D Vulkan HAL",
.author = "Mesa 3D",
.methods =
&(hw_module_methods_t){
.open = vk_android_hal_open,
},
},
};
static int
vk_android_hal_close(struct hw_device_t *dev)
{
/* the hw_device_t::close() function is called upon driver unloading */
assert(dev->version == HWVULKAN_DEVICE_API_VERSION_0_1);
assert(dev->module == &HAL_MODULE_INFO_SYM.common);
hwvulkan_device_t *hal_dev = container_of(dev, hwvulkan_device_t, common);
free(hal_dev);
return 0;
}
static int
vk_android_hal_open(const struct hw_module_t *mod, const char *id,
struct hw_device_t **dev)
{
assert(mod == &HAL_MODULE_INFO_SYM.common);
assert(strcmp(id, HWVULKAN_DEVICE_0) == 0);
hwvulkan_device_t *hal_dev = malloc(sizeof(*hal_dev));
if (!hal_dev)
return -1;
*hal_dev = (hwvulkan_device_t){
.common =
{
.tag = HARDWARE_DEVICE_TAG,
.version = HWVULKAN_DEVICE_API_VERSION_0_1,
.module = &HAL_MODULE_INFO_SYM.common,
.close = vk_android_hal_close,
},
.EnumerateInstanceExtensionProperties =
(PFN_vkEnumerateInstanceExtensionProperties)vk_icdGetInstanceProcAddr(
NULL, "vkEnumerateInstanceExtensionProperties"),
.CreateInstance =
(PFN_vkCreateInstance)vk_icdGetInstanceProcAddr(
NULL, "vkCreateInstance"),
.GetInstanceProcAddr =
(PFN_vkGetInstanceProcAddr)vk_icdGetInstanceProcAddr(
NULL, "vkGetInstanceProcAddr"),
};
*dev = &hal_dev->common;
return 0;
}
static VkResult
vk_gralloc_to_drm_explicit_layout(
struct u_gralloc_buffer_handle *in_hnd,

View file

@ -1,79 +0,0 @@
/*
* Copyright 2025 Google LLC
* SPDX-License-Identifier: MIT
*/
#include <hardware/hardware.h>
#include <hardware/hwvulkan.h>
#include <util/macros.h>
#include <vulkan/vk_icd.h>
#include <stdlib.h>
#include <string.h>
static_assert(HWVULKAN_DISPATCH_MAGIC == ICD_LOADER_MAGIC, "");
static int vk_android_hal_open(const struct hw_module_t *mod, const char *id,
struct hw_device_t **dev);
PUBLIC struct hwvulkan_module_t HAL_MODULE_INFO_SYM = {
.common =
{
.tag = HARDWARE_MODULE_TAG,
.module_api_version = HWVULKAN_MODULE_API_VERSION_0_1,
.hal_api_version = HARDWARE_MAKE_API_VERSION(1, 0),
.id = HWVULKAN_HARDWARE_MODULE_ID,
.name = "Mesa 3D Vulkan HAL",
.author = "Mesa 3D",
.methods =
&(hw_module_methods_t){
.open = vk_android_hal_open,
},
},
};
static int
vk_android_hal_close(struct hw_device_t *dev)
{
/* the hw_device_t::close() function is called upon driver unloading */
assert(dev->version == HWVULKAN_DEVICE_API_VERSION_0_1);
assert(dev->module == &HAL_MODULE_INFO_SYM.common);
hwvulkan_device_t *hal_dev = container_of(dev, hwvulkan_device_t, common);
free(hal_dev);
return 0;
}
static int
vk_android_hal_open(const struct hw_module_t *mod, const char *id,
struct hw_device_t **dev)
{
assert(mod == &HAL_MODULE_INFO_SYM.common);
assert(strcmp(id, HWVULKAN_DEVICE_0) == 0);
hwvulkan_device_t *hal_dev = malloc(sizeof(*hal_dev));
if (!hal_dev)
return -1;
*hal_dev = (hwvulkan_device_t){
.common =
{
.tag = HARDWARE_DEVICE_TAG,
.version = HWVULKAN_DEVICE_API_VERSION_0_1,
.module = &HAL_MODULE_INFO_SYM.common,
.close = vk_android_hal_close,
},
.EnumerateInstanceExtensionProperties =
(PFN_vkEnumerateInstanceExtensionProperties)vk_icdGetInstanceProcAddr(
NULL, "vkEnumerateInstanceExtensionProperties"),
.CreateInstance =
(PFN_vkCreateInstance)vk_icdGetInstanceProcAddr(
NULL, "vkCreateInstance"),
.GetInstanceProcAddr =
(PFN_vkGetInstanceProcAddr)vk_icdGetInstanceProcAddr(
NULL, "vkGetInstanceProcAddr"),
};
*dev = &hal_dev->common;
return 0;
}