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

Commit 7362c89d authored by Lingfeng Yang's avatar Lingfeng Yang Committed by Android (Google) Code Review
Browse files

Merge "Don't use shader disk cache on emulator"

parents d93a7959 3a9f223d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -61,6 +61,8 @@ bool Properties::disableVsync = false;
bool Properties::skpCaptureEnabled = false;
bool Properties::enableRTAnimations = true;

bool Properties::runningInEmulator = false;

static int property_get_int(const char* key, int defaultValue) {
    char buf[PROPERTY_VALUE_MAX] = {
            '\0',
@@ -135,6 +137,8 @@ bool Properties::load() {
    skpCaptureEnabled = property_get_bool("ro.debuggable", false) &&
                        property_get_bool(PROPERTY_CAPTURE_SKP_ENABLED, false);

    runningInEmulator = property_get_bool(PROPERTY_QEMU_KERNEL, false);

    return (prevDebugLayersUpdates != debugLayersUpdates) || (prevDebugOverdraw != debugOverdraw) ||
           (prevDebugStencilClip != debugStencilClip);
}
+7 −0
Original line number Diff line number Diff line
@@ -180,6 +180,11 @@ enum DebugLevel {
 */
#define PROPERTY_CAPTURE_SKP_FILENAME "debug.hwui.skp_filename"

/**
 * Property for whether this is running in the emulator.
 */
#define PROPERTY_QEMU_KERNEL "ro.kernel.qemu"

///////////////////////////////////////////////////////////////////////////////
// Misc
///////////////////////////////////////////////////////////////////////////////
@@ -261,6 +266,8 @@ public:
    // Used for testing only to change the render pipeline.
    static void overrideRenderPipelineType(RenderPipelineType);

    static bool runningInEmulator;

private:
    static ProfileType sProfileType;
    static bool sDisableProfileBars;
+6 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <log/log.h>
#include <thread>
#include "FileBlobCache.h"
#include "Properties.h"
#include "utils/TraceUtils.h"

namespace android {
@@ -43,7 +44,11 @@ ShaderCache& ShaderCache::get() {
void ShaderCache::initShaderDiskCache() {
    ATRACE_NAME("initShaderDiskCache");
    std::lock_guard<std::mutex> lock(mMutex);
    if (mFilename.length() > 0) {

    // Emulators can switch between different renders either as part of config
    // or snapshot migration. Also, program binaries may not work well on some
    // desktop / laptop GPUs. Thus, disable the shader disk cache for emulator builds.
    if (!Properties::runningInEmulator && mFilename.length() > 0) {
        mBlobCache.reset(new FileBlobCache(maxKeySize, maxValueSize, maxTotalSize, mFilename));
        mInitialized = true;
    }