OSDN Git Service

add vulkan anv support
authorMauro Rossi <issor.oruam@gmail.com>
Sun, 4 Feb 2018 23:17:15 +0000 (00:17 +0100)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Mon, 7 Jan 2019 09:28:57 +0000 (17:28 +0800)
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

gpu/gpu_mesa.mk
init.sh

index 448d95d..d8f8b64 100644 (file)
@@ -19,6 +19,13 @@ PRODUCT_PACKAGES += \
     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
diff --git a/init.sh b/init.sh
index 14d5d34..52d9ecd 100644 (file)
--- a/init.sh
+++ b/init.sh
@@ -170,6 +170,17 @@ function init_hal_hwcomposer()
        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
@@ -362,6 +373,7 @@ function do_init()
        init_hal_gps
        init_hal_gralloc
        init_hal_hwcomposer
+       init_hal_vulkan
        init_hal_lights
        init_hal_power
        init_hal_sensors