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

Commit b6a73948 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 13886633 from 9f5f8f23 to 25Q4-release

Change-Id: I2b3ecdeb84a1610c3d2c67445776052ef2c3626e
parents efddb9eb 9f5f8f23
Loading
Loading
Loading
Loading
+126 −5
Original line number Diff line number Diff line
@@ -313,127 +313,248 @@ on late-init && property:ro.boot.fastboot.boottrace=
    write /sys/kernel/tracing/tracing_on 0

# Handle hyp tracing instance
# NOTE: starting with android16-6.12 kernel hypervisor tracing instance is renamed
# from /sys/kernel/tracing/hyp to /sys/kernel/tracing/hypervisor
on late-init && property:ro.boot.hypervisor.vm.supported=1

# Hypervisor tracing instance doesn't support changing trace_clock
    chmod 0440 /sys/kernel/debug/tracing/hyp/trace_clock
    chmod 0440 /sys/kernel/tracing/hyp/trace_clock
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/trace_clock
    chmod 0440 /sys/kernel/tracing/hypervisor/trace_clock

    chmod 0660 /sys/kernel/debug/tracing/hyp/buffer_size_kb
    chmod 0660 /sys/kernel/tracing/hyp/buffer_size_kb
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/buffer_size_kb
    chmod 0660 /sys/kernel/tracing/hypervisor/buffer_size_kb

    chmod 0660 /sys/kernel/debug/tracing/hyp/tracing_on
    chmod 0660 /sys/kernel/tracing/hyp/tracing_on
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/tracing_on
    chmod 0660 /sys/kernel/tracing/hypervisor/tracing_on

# Tracing disabled by default
    write /sys/kernel/debug/tracing/hyp/tracing_on 0
    write /sys/kernel/tracing/hyp/tracing_on 0
    write /sys/kernel/debug/tracing/hypervisor/tracing_on 0
    write /sys/kernel/tracing/hypervisor/tracing_on 0

# Read and truncate the hyp trace.
    chmod 0660 /sys/kernel/debug/tracing/hyp/trace
    chmod 0660 /sys/kernel/tracing/hyp/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/trace

# Read and truncate the per-CPU kernel trace.
# Cannot use wildcards in .rc files. Update this if there is a phone with
# TODO(b/249050813, ioffe): introduce per-cpu wildcard
    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu0/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu0/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu0/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu0/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu1/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu1/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu1/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu1/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu2/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu2/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu2/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu2/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu3/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu3/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu3/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu3/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu4/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu4/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu4/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu4/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu5/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu5/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu5/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu5/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu6/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu6/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu6/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu6/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu7/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu7/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu7/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu7/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu8/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu8/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu8/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu8/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu9/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu9/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu9/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu9/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu10/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu10/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu10/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu10/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu11/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu11/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu11/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu11/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu12/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu12/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu12/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu12/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu13/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu13/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu13/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu13/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu14/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu14/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu14/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu14/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu15/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu15/trace
    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu15/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu15/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu16/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu16/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu16/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu16/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu17/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu17/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu17/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu17/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu18/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu18/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu18/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu18/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu19/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu19/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu19/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu19/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu20/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu20/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu20/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu20/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu21/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu21/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu21/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu21/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu22/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu22/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu22/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu22/trace

    chmod 0660 /sys/kernel/debug/tracing/hyp/per_cpu/cpu23/trace
    chmod 0660 /sys/kernel/tracing/hyp/per_cpu/cpu23/trace
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/per_cpu/cpu23/trace
    chmod 0660 /sys/kernel/tracing/hypervisor/per_cpu/cpu23/trace


    chmod 0440 /sys/kernel/debug/tracing/hyp/events/header_page
    chmod 0440 /sys/kernel/tracing/hyp/events/header_page
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/header_page
    chmod 0440 /sys/kernel/tracing/hypervisor/events/header_page

# Hyp events start here

# hyp_enter event
    chmod 0660 /sys/kernel/debug/tracing/hyp/events/hyp/hyp_enter/enable
    chmod 0660 /sys/kernel/tracing/hyp/events/hyp/hyp_enter/enable
# TODO(b/249050813): should this be handled in kernel?
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/hyp_enter/enable
    chmod 0660 /sys/kernel/tracing/hyp/events/hyp/hyp_enter/enable

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/hyp_enter/format
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/hyp_enter/format
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/hyp_enter/format
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/hyp_enter/format

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/hyp_enter/id
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/hyp_enter/id
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/hyp_enter/id
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/hyp_enter/id

# hyp_exit event
    chmod 0660 /sys/kernel/debug/tracing/hyp/events/hyp/hyp_exit/enable
    chmod 0660 /sys/kernel/tracing/hyp/events/hyp/hyp_exit/enable
# TODO(b/249050813): should this be handled in kernel?
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/hyp_exit/enable
    chmod 0660 /sys/kernel/tracing/hypervisor/events/hypervisor/hyp_exit/enable

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/hyp_exit/format
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/hyp_exit/format
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/hyp_exit/format
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/hyp_exit/format

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/hyp_exit/id
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/hyp_exit/id
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/hyp_exit/id
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/hyp_exit/id

# host_hcall event
    chmod 0660 /sys/kernel/debug/tracing/hyp/events/hyp/host_hcall/enable
    chmod 0660 /sys/kernel/tracing/hyp/events/hyp/host_hcall/enable
# TODO(b/249050813): should this be handled in kernel?
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_hcall/enable
    chmod 0660 /sys/kernel/tracing/hypervisor/events/hypervisor/host_hcall/enable

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/host_hcall/format
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/host_hcall/format
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_hcall/format
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/host_hcall/format

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/host_hcall/id
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/host_hcall/id
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_hcall/id
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/host_hcall/id

# host_smc event
    chmod 0660 /sys/kernel/debug/tracing/hyp/events/hyp/host_smc/enable
    chmod 0660 /sys/kernel/tracing/hyp/events/hyp/host_smc/enable
# TODO(b/249050813): should this be handled in kernel?
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_smc/enable
    chmod 0660 /sys/kernel/tracing/hypervisor/events/hypervisor/host_smc/enable

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/host_smc/format
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/host_smc/format
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_smc/format
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/host_smc/format

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/host_smc/id
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/host_smc/id
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_smc/id
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/host_smc/id

# host_mem_abort event
    chmod 0660 /sys/kernel/debug/tracing/hyp/events/hyp/host_mem_abort/enable
    chmod 0660 /sys/kernel/tracing/hyp/events/hyp/host_mem_abort/enable
# TODO(b/249050813): should this be handled in kernel?
    chmod 0660 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_mem_abort/enable
    chmod 0660 /sys/kernel/tracing/hypervisor/events/hypervisor/host_mem_abort/enable

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/host_mem_abort/format
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/host_mem_abort/format
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_mem_abort/format
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/host_mem_abort/format

    chmod 0440 /sys/kernel/debug/tracing/hyp/events/hyp/host_mem_abort/id
    chmod 0440 /sys/kernel/tracing/hyp/events/hyp/host_mem_abort/id
    chmod 0440 /sys/kernel/debug/tracing/hypervisor/events/hypervisor/host_mem_abort/id
    chmod 0440 /sys/kernel/tracing/hypervisor/events/hypervisor/host_mem_abort/id

# Ensure correct permissions on GPU related events
on property:sys.boot_completed=1
+4 −2
Original line number Diff line number Diff line
@@ -1299,8 +1299,10 @@ enum class PointerCaptureMode : int32_t {
struct PointerCaptureRequest {
public:
    inline PointerCaptureRequest() : window(), mode(PointerCaptureMode::UNCAPTURED), seq(0) {}
    inline PointerCaptureRequest(sp<IBinder> window, uint32_t seq)
          : window(window), mode(PointerCaptureMode::ABSOLUTE), seq(seq) {}
    inline PointerCaptureRequest(PointerCaptureMode mode, sp<IBinder> window, uint32_t seq)
          : window(window), mode(mode), seq(seq) {
        LOG_ALWAYS_FATAL_IF(mode != PointerCaptureMode::UNCAPTURED && window == nullptr);
    }
    inline bool operator==(const PointerCaptureRequest& other) const {
        return window == other.window && mode == other.mode && seq == other.seq;
    }
+2 −3
Original line number Diff line number Diff line
@@ -13,8 +13,6 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// TODO(393217449) Fix code and remove.
#undef ANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION

#define LOG_TAG "DisplayEventDispatcher"
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
@@ -61,7 +59,8 @@ status_t DisplayEventDispatcher::initialize() {
    }

    if (mLooper != nullptr) {
        int rc = mLooper->addFd(mReceiver.getFd(), 0, Looper::EVENT_INPUT, this, NULL);
        int rc = mLooper->addFd(mReceiver.getFd(), 0, Looper::EVENT_INPUT,
                                sp<DisplayEventDispatcher>::fromExisting(this), NULL);
        if (rc < 0) {
            return UNKNOWN_ERROR;
        }
+4 −27
Original line number Diff line number Diff line
@@ -28,45 +28,22 @@
#include <ftl/enum.h>
#include <log/log.h>

// TODO: b/341728634 - Clean up conditional compilation.
#if COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(GRAPHITE_RENDERENGINE) || \
        COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(FORCE_COMPILE_GRAPHITE_RENDERENGINE)
#define COMPILE_GRAPHITE_RENDERENGINE 1
#else
#define COMPILE_GRAPHITE_RENDERENGINE 0
#endif

namespace android {
namespace renderengine {

// TODO: b/341728634 - Don't compile Ganesh unless requested once Graphite is the stable default.
std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArgs& args) {
    threaded::CreateInstanceFactory createInstanceFactory;

// TODO: b/341728634 - Clean up conditional compilation.
#if COMPILE_GRAPHITE_RENDERENGINE
    const RenderEngine::SkiaBackend actualSkiaBackend = args.skiaBackend;
#else
    if (args.skiaBackend == RenderEngine::SkiaBackend::Graphite) {
        ALOGE("RenderEngine with Graphite Skia backend was requested, but Graphite was not "
              "included in the build. Falling back to Ganesh (%s)",
              ftl::enum_string(args.graphicsApi).c_str());
    }
    const RenderEngine::SkiaBackend actualSkiaBackend = RenderEngine::SkiaBackend::Ganesh;
#endif

    ALOGD("%sRenderEngine with Skia%s Backend (%s)",
          args.threaded == Threaded::Yes ? "Threaded " : "",
          ftl::enum_string(args.graphicsApi).c_str(), ftl::enum_string(actualSkiaBackend).c_str());
          ftl::enum_string(args.graphicsApi).c_str(), ftl::enum_string(args.skiaBackend).c_str());

// TODO: b/341728634 - Clean up conditional compilation.
#if COMPILE_GRAPHITE_RENDERENGINE
    if (actualSkiaBackend == SkiaBackend::Graphite) {
    if (args.skiaBackend == SkiaBackend::Graphite) {
        createInstanceFactory = [args]() {
            return android::renderengine::skia::GraphiteVkRenderEngine::create(args);
        };
    } else
#endif
    { // GANESH
    } else { // GANESH
        if (args.graphicsApi == GraphicsApi::Vk) {
            createInstanceFactory = [args]() {
                return android::renderengine::skia::GaneshVkRenderEngine::create(args);
+1 −16
Original line number Diff line number Diff line
@@ -30,14 +30,6 @@
#include <mutex>
#include <sstream>

// TODO: b/341728634 - Clean up conditional compilation.
#if COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(GRAPHITE_RENDERENGINE) || \
        COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(FORCE_COMPILE_GRAPHITE_RENDERENGINE)
#define COMPILE_GRAPHITE_RENDERENGINE 1
#else
#define COMPILE_GRAPHITE_RENDERENGINE 0
#endif

using namespace android;
using namespace android::renderengine;

@@ -351,14 +343,7 @@ void registerBenchmarks() {
         {RenderEngine::GraphicsApi::GL, RenderEngine::GraphicsApi::Vk}) {
        argBuilder.setGraphicsApi(graphicsApi);

// TODO: b/341728634 - Clean up conditional compilation.
#if COMPILE_GRAPHITE_RENDERENGINE
        const auto skiaBackends = {RenderEngine::SkiaBackend::Ganesh,
                                   RenderEngine::SkiaBackend::Graphite};
#else
        const auto skiaBackends = {RenderEngine::SkiaBackend::Ganesh};
#endif
        for (RenderEngine::SkiaBackend skiaBackend : skiaBackends) {
        for (RenderEngine::SkiaBackend skiaBackend : ftl::enum_range<RenderEngine::SkiaBackend>()) {
            argBuilder.setSkiaBackend(skiaBackend);

            // BM_homescreen_blur
Loading