diff options
author | Hal Canary <halcanary@google.com> | 2018-01-19 13:08:23 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-22 20:11:57 +0000 |
commit | a9de760a217cf48c974d6c51b4ba88f08c269bbe (patch) | |
tree | 16924fe7092b51a982ad667524440c5b6bbbe0e7 /tools/skqp/jni | |
parent | 3b428cbf8a2f4b8d4fad7f2708e67cf954ba7bf1 (diff) |
SkQP: replace blacklist with: DoNotExecuteInExperimentalMode and NoScoreInCompatibilityTestMode
Also clean up some things, fix docs, whitelist.
Change-Id: I2818d973978ffe1b8ce0cc9c69f8d91ab4a0ef22
Reviewed-on: https://skia-review.googlesource.com/91805
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'tools/skqp/jni')
-rw-r--r-- | tools/skqp/jni/org_skia_skqp_SkQPRunner.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/tools/skqp/jni/org_skia_skqp_SkQPRunner.cpp b/tools/skqp/jni/org_skia_skqp_SkQPRunner.cpp index 7347f28ff9..7864fc43c4 100644 --- a/tools/skqp/jni/org_skia_skqp_SkQPRunner.cpp +++ b/tools/skqp/jni/org_skia_skqp_SkQPRunner.cpp @@ -8,9 +8,10 @@ #include <mutex> #include <vector> -#include <jni.h> #include <android/asset_manager.h> #include <android/asset_manager_jni.h> +#include <jni.h> +#include <sys/stat.h> #include "gm_runner.h" #include "gm_knowledge.h" @@ -19,7 +20,7 @@ //////////////////////////////////////////////////////////////////////////////// extern "C" { -JNIEXPORT void JNICALL Java_org_skia_skqp_SkQP_nInit(JNIEnv*, jobject, jobject, jstring); +JNIEXPORT void JNICALL Java_org_skia_skqp_SkQP_nInit(JNIEnv*, jobject, jobject, jstring, jboolean); JNIEXPORT jfloat JNICALL Java_org_skia_skqp_SkQP_nExecuteGM(JNIEnv*, jobject, jint, jint); JNIEXPORT jobjectArray JNICALL Java_org_skia_skqp_SkQP_nExecuteUnitTest(JNIEnv*, jobject, jint); @@ -74,13 +75,13 @@ struct AndroidAssetManager : public skqp::AssetManager { return dup; } }; + // SkDebugf("AndroidAssetManager::open(\"%s\");", path); AAsset* asset = AndroidAssetManager::OpenAsset(fMgr, path); return asset ? std::unique_ptr<SkStreamAsset>(new AAStrm(fMgr, std::string(path), asset)) : nullptr; } static AAsset* OpenAsset(AAssetManager* mgr, const char* path) { - std::string fullPath = std::string("gmkb/") + path; - return mgr ? AAssetManager_open(mgr, fullPath.c_str(), AASSET_MODE_STREAMING) : nullptr; + return mgr ? AAssetManager_open(mgr, path, AASSET_MODE_STREAMING) : nullptr; } }; } @@ -119,23 +120,32 @@ jobjectArray to_java_string_array(JNIEnv* env, } void Java_org_skia_skqp_SkQP_nInit(JNIEnv* env, jobject object, jobject assetManager, - jstring dataDir) { + jstring dataDir, jboolean experimentalMode) { jclass clazz = env->GetObjectClass(object); jassert(env, assetManager); - gm_runner::InitSkia(); - std::lock_guard<std::mutex> lock(gMutex); gAssetManager.fMgr = AAssetManager_fromJava(env, assetManager); jassert(env, gAssetManager.fMgr); + gm_runner::InitSkia(experimentalMode ? gm_runner::Mode::kExperimentalMode + : gm_runner::Mode::kCompatibilityTestMode, + &gAssetManager); + const char* dataDirString = env->GetStringUTFChars(dataDir, nullptr); + jassert(env, dataDirString && dataDirString[0]); gReportDirectory = std::string(dataDirString) + "/skqp_report"; + int mkdirRetval = mkdir(gReportDirectory.c_str(), 0777); + SkASSERT_RELEASE(0 == mkdirRetval); + env->ReleaseStringUTFChars(dataDir, dataDirString); gBackends = gm_runner::GetSupportedBackends(); + jassert(env, gBackends.size() > 0); gGMs = gm_runner::GetGMFactories(&gAssetManager); + jassert(env, gGMs.size() > 0); gUnitTests = gm_runner::GetUnitTests(); + jassert(env, gUnitTests.size() > 0); gStringClass = env->FindClass("java/lang/String"); constexpr char stringArrayType[] = "[Ljava/lang/String;"; |