Loading core/java/android/os/GraphicsEnvironment.java +11 −12 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ public class GraphicsEnvironment { private int mAngleOptInIndex = -1; private boolean mEnabledByGameMode = false; private boolean mShouldUseAngle = false; /** * Set up GraphicsEnvironment Loading @@ -141,19 +142,16 @@ public class GraphicsEnvironment { // Setup ANGLE and pass down ANGLE details to the C++ code Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "setupAngle"); boolean useAngle = false; if (setupAngle(context, coreSettings, pm, packageName)) { if (shouldUseAngle(context, coreSettings, packageName)) { useAngle = true; mShouldUseAngle = true; setGpuStats(ANGLE_DRIVER_NAME, ANGLE_DRIVER_VERSION_NAME, ANGLE_DRIVER_VERSION_CODE, 0, packageName, getVulkanVersion(pm)); } } Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS); Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "chooseDriver"); if (!chooseDriver(context, coreSettings, pm, packageName, appInfoWithMetaData)) { if (!useAngle) { if (!mShouldUseAngle) { setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, SystemProperties.getLong(PROPERTY_GFX_DRIVER_BUILD_TIME, 0), Loading Loading @@ -636,7 +634,10 @@ public class GraphicsEnvironment { } /** * Show the ANGLE in Use Dialog Box * Show the ANGLE in use dialog box. * The ANGLE in use dialog box will show up as long as the application * should use ANGLE. It does not mean the application has successfully * loaded ANGLE because this check happens before the loading completes. * @param context */ public void showAngleInUseDialogBox(Context context) { Loading @@ -644,8 +645,7 @@ public class GraphicsEnvironment { return; } final String packageName = context.getPackageName(); if (!getShouldUseAngle(packageName)) { if (!mShouldUseAngle) { return; } Loading Loading @@ -890,9 +890,8 @@ public class GraphicsEnvironment { private static native void setDriverPathAndSphalLibraries(String path, String sphalLibraries); private static native void setGpuStats(String driverPackageName, String driverVersionName, long driverVersionCode, long driverBuildTime, String appPackageName, int vulkanVersion); private static native void setAngleInfo(String path, String appPackage, private static native void setAngleInfo(String path, String packageName, String devOptIn, String[] features); private static native boolean getShouldUseAngle(String packageName); private static native boolean setInjectLayersPrSetDumpable(); private static native void nativeToggleAngleAsSystemDriver(boolean enabled); Loading core/jni/android_os_GraphicsEnvironment.cpp +3 −10 Original line number Diff line number Diff line Loading @@ -49,10 +49,10 @@ void setGpuStats_native(JNIEnv* env, jobject clazz, jstring driverPackageName, appPackageNameChars.c_str(), vulkanVersion); } void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring packageName, jstring devOptIn, jobjectArray featuresObj) { ScopedUtfChars pathChars(env, path); ScopedUtfChars appNameChars(env, appName); ScopedUtfChars packageNameChars(env, packageName); ScopedUtfChars devOptInChars(env, devOptIn); std::vector<std::string> features; Loading @@ -73,15 +73,10 @@ void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appNa } } android::GraphicsEnv::getInstance().setAngleInfo(pathChars.c_str(), appNameChars.c_str(), android::GraphicsEnv::getInstance().setAngleInfo(pathChars.c_str(), packageNameChars.c_str(), devOptInChars.c_str(), features); } bool shouldUseAngle_native(JNIEnv* env, jobject clazz, jstring appName) { ScopedUtfChars appNameChars(env, appName); return android::GraphicsEnv::getInstance().shouldUseAngle(appNameChars.c_str()); } void setLayerPaths_native(JNIEnv* env, jobject clazz, jobject classLoader, jstring layerPaths) { android::NativeLoaderNamespace* appNamespace = android::FindNativeLoaderNamespaceByClassLoader( env, classLoader); Loading Loading @@ -126,8 +121,6 @@ const JNINativeMethod g_methods[] = { {"setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V", reinterpret_cast<void*>(setAngleInfo_native)}, {"getShouldUseAngle", "(Ljava/lang/String;)Z", reinterpret_cast<void*>(shouldUseAngle_native)}, {"setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native)}, {"setDebugLayers", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDebugLayers_native)}, Loading Loading
core/java/android/os/GraphicsEnvironment.java +11 −12 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ public class GraphicsEnvironment { private int mAngleOptInIndex = -1; private boolean mEnabledByGameMode = false; private boolean mShouldUseAngle = false; /** * Set up GraphicsEnvironment Loading @@ -141,19 +142,16 @@ public class GraphicsEnvironment { // Setup ANGLE and pass down ANGLE details to the C++ code Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "setupAngle"); boolean useAngle = false; if (setupAngle(context, coreSettings, pm, packageName)) { if (shouldUseAngle(context, coreSettings, packageName)) { useAngle = true; mShouldUseAngle = true; setGpuStats(ANGLE_DRIVER_NAME, ANGLE_DRIVER_VERSION_NAME, ANGLE_DRIVER_VERSION_CODE, 0, packageName, getVulkanVersion(pm)); } } Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS); Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "chooseDriver"); if (!chooseDriver(context, coreSettings, pm, packageName, appInfoWithMetaData)) { if (!useAngle) { if (!mShouldUseAngle) { setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, SystemProperties.getLong(PROPERTY_GFX_DRIVER_BUILD_TIME, 0), Loading Loading @@ -636,7 +634,10 @@ public class GraphicsEnvironment { } /** * Show the ANGLE in Use Dialog Box * Show the ANGLE in use dialog box. * The ANGLE in use dialog box will show up as long as the application * should use ANGLE. It does not mean the application has successfully * loaded ANGLE because this check happens before the loading completes. * @param context */ public void showAngleInUseDialogBox(Context context) { Loading @@ -644,8 +645,7 @@ public class GraphicsEnvironment { return; } final String packageName = context.getPackageName(); if (!getShouldUseAngle(packageName)) { if (!mShouldUseAngle) { return; } Loading Loading @@ -890,9 +890,8 @@ public class GraphicsEnvironment { private static native void setDriverPathAndSphalLibraries(String path, String sphalLibraries); private static native void setGpuStats(String driverPackageName, String driverVersionName, long driverVersionCode, long driverBuildTime, String appPackageName, int vulkanVersion); private static native void setAngleInfo(String path, String appPackage, private static native void setAngleInfo(String path, String packageName, String devOptIn, String[] features); private static native boolean getShouldUseAngle(String packageName); private static native boolean setInjectLayersPrSetDumpable(); private static native void nativeToggleAngleAsSystemDriver(boolean enabled); Loading
core/jni/android_os_GraphicsEnvironment.cpp +3 −10 Original line number Diff line number Diff line Loading @@ -49,10 +49,10 @@ void setGpuStats_native(JNIEnv* env, jobject clazz, jstring driverPackageName, appPackageNameChars.c_str(), vulkanVersion); } void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring packageName, jstring devOptIn, jobjectArray featuresObj) { ScopedUtfChars pathChars(env, path); ScopedUtfChars appNameChars(env, appName); ScopedUtfChars packageNameChars(env, packageName); ScopedUtfChars devOptInChars(env, devOptIn); std::vector<std::string> features; Loading @@ -73,15 +73,10 @@ void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appNa } } android::GraphicsEnv::getInstance().setAngleInfo(pathChars.c_str(), appNameChars.c_str(), android::GraphicsEnv::getInstance().setAngleInfo(pathChars.c_str(), packageNameChars.c_str(), devOptInChars.c_str(), features); } bool shouldUseAngle_native(JNIEnv* env, jobject clazz, jstring appName) { ScopedUtfChars appNameChars(env, appName); return android::GraphicsEnv::getInstance().shouldUseAngle(appNameChars.c_str()); } void setLayerPaths_native(JNIEnv* env, jobject clazz, jobject classLoader, jstring layerPaths) { android::NativeLoaderNamespace* appNamespace = android::FindNativeLoaderNamespaceByClassLoader( env, classLoader); Loading Loading @@ -126,8 +121,6 @@ const JNINativeMethod g_methods[] = { {"setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V", reinterpret_cast<void*>(setAngleInfo_native)}, {"getShouldUseAngle", "(Ljava/lang/String;)Z", reinterpret_cast<void*>(shouldUseAngle_native)}, {"setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native)}, {"setDebugLayers", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDebugLayers_native)}, Loading