anv implements Vulkan HAL without requiring additional wrapper/stub
anv is added as vulkan.android-x86 module to PRODUCT_PACKAGES
and PRODUCT_COPY_FILES is used to install android.hardware.vulkan.{level,version}.xml
ro.hardware.vulkan property is set by init.sh init_hal_vulkan() function
based on the drm fb kernel module inteldrmfb
libEGL_swiftshader \
libGLESv1_CM_swiftshader \
libGLESv2_swiftshader \
+ vulkan.android-x86
PRODUCT_PROPERTY_OVERRIDES := \
- ro.opengles.version = 196608
+ ro.opengles.version = 196608 \
+ ro.hardware.vulkan.level = 1 \
+ ro.hardware.vulkan.version = 4194307
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:system/etc/permissions/android.hardware.vulkan.level.xml \
+ frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml
return
}
+function init_hal_vulkan()
+{
+ case "$(cat /proc/fb | head -1)" in
+ 0*inteldrmfb)
+ set_property ro.hardware.vulkan android-x86
+ ;;
+ *)
+ ;;
+ esac
+}
+
function init_hal_lights()
{
chown 1000.1000 /sys/class/backlight/*/brightness
init_hal_gps
init_hal_gralloc
init_hal_hwcomposer
+ init_hal_vulkan
init_hal_lights
init_hal_power
init_hal_sensors