Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8811aa5 authored by Stan Iliev's avatar Stan Iliev
Browse files

Read product property to set Vulkan as default render pipeline

Bug: 119267168
Test: Booted pixel 3 with Vulkan rendering
Change-Id: Ibc4b2e00d791b1fb333c0e0f5db2b5f084808c24
parent ca3ef74b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@ cc_defaults {
        "FrameInfoVisualizer.cpp",
        "GpuMemoryTracker.cpp",
        "HardwareBitmapUploader.cpp",
        "HWUIProperties.sysprop",
        "Interpolator.cpp",
        "JankTracker.cpp",
        "Layer.cpp",
+9 −0
Original line number Diff line number Diff line
owner: Platform
module: "android.uirenderer"
prop {
    api_name: "use_vulkan"
    type: Boolean
    prop_name: "ro.hwui.use_vulkan"
    scope: Public
    access: Readonly
}
+7 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#include "Debug.h"
#include "DeviceInfo.h"
#include "SkTraceEventCommon.h"
#include "HWUIProperties.sysprop.h"

#include <algorithm>
#include <cstdlib>
@@ -174,8 +175,13 @@ RenderPipelineType Properties::getRenderPipelineType() {
    if (sRenderPipelineType != RenderPipelineType::NotInitialized) {
        return sRenderPipelineType;
    }
    bool useVulkan = use_vulkan().value_or(false);
    char prop[PROPERTY_VALUE_MAX];
    if (useVulkan) {
        property_get(PROPERTY_RENDERER, prop, "skiavk");
    } else {
        property_get(PROPERTY_RENDERER, prop, "skiagl");
    }
    if (!strcmp(prop, "skiavk")) {
        ALOGD("Skia Vulkan Pipeline");
        sRenderPipelineType = RenderPipelineType::SkiaVulkan;