Loading core/java/android/os/GraphicsEnvironment.java +12 −7 Original line number Original line Diff line number Diff line Loading @@ -61,6 +61,7 @@ public class GraphicsEnvironment { private static final String SYSTEM_DRIVER_VERSION_NAME = ""; private static final String SYSTEM_DRIVER_VERSION_NAME = ""; private static final long SYSTEM_DRIVER_VERSION_CODE = 0; private static final long SYSTEM_DRIVER_VERSION_CODE = 0; private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0"; private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0"; private static final String PROPERTY_GFX_DRIVER_BUILD_DATE = "ro.gfx.driver.build_date"; private static final String ANGLE_RULES_FILE = "a4a_rules.json"; private static final String ANGLE_RULES_FILE = "a4a_rules.json"; private static final String ANGLE_TEMP_RULES = "debug.angle.rules"; private static final String ANGLE_TEMP_RULES = "debug.angle.rules"; private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID"; private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID"; Loading @@ -79,8 +80,9 @@ public class GraphicsEnvironment { setupGpuLayers(context, coreSettings, pm, packageName); setupGpuLayers(context, coreSettings, pm, packageName); setupAngle(context, coreSettings, pm, packageName); setupAngle(context, coreSettings, pm, packageName); if (!chooseDriver(context, coreSettings, pm, packageName)) { if (!chooseDriver(context, coreSettings, pm, packageName)) { final String driverBuildDate = SystemProperties.get(PROPERTY_GFX_DRIVER_BUILD_DATE); setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, packageName); driverBuildDate == null ? "" : driverBuildDate, packageName); } } } } Loading Loading @@ -574,8 +576,8 @@ public class GraphicsEnvironment { final PackageInfo driverPackageInfo; final PackageInfo driverPackageInfo; try { try { driverPackageInfo = driverPackageInfo = pm.getPackageInfo(driverPackageName, pm.getPackageInfo(driverPackageName, PackageManager.MATCH_SYSTEM_ONLY); PackageManager.MATCH_SYSTEM_ONLY | PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "driver package '" + driverPackageName + "' not installed"); Log.w(TAG, "driver package '" + driverPackageName + "' not installed"); return false; return false; Loading Loading @@ -655,9 +657,6 @@ public class GraphicsEnvironment { return false; return false; } } setGpuStats(driverPackageName, driverPackageInfo.versionName, driverAppInfo.longVersionCode, packageName); final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder(); sb.append(driverAppInfo.nativeLibraryDir) sb.append(driverAppInfo.nativeLibraryDir) .append(File.pathSeparator); .append(File.pathSeparator); Loading @@ -669,6 +668,12 @@ public class GraphicsEnvironment { if (DEBUG) Log.v(TAG, "gfx driver package libs: " + paths); if (DEBUG) Log.v(TAG, "gfx driver package libs: " + paths); setDriverPath(paths); setDriverPath(paths); final String driverBuildDate = driverAppInfo.metaData == null ? "" : driverAppInfo.metaData.getString("driver_build_date"); setGpuStats(driverPackageName, driverPackageInfo.versionName, driverAppInfo.longVersionCode, driverBuildDate == null ? "" : driverBuildDate, packageName); return true; return true; } } Loading Loading @@ -710,7 +715,7 @@ public class GraphicsEnvironment { private static native void setDebugLayersGLES(String layers); private static native void setDebugLayersGLES(String layers); private static native void setDriverPath(String path); private static native void setDriverPath(String path); private static native void setGpuStats(String driverPackageName, String driverVersionName, private static native void setGpuStats(String driverPackageName, String driverVersionName, long driverVersionCode, String appPackageName); long driverVersionCode, String driverBuildDate, String appPackageName); private static native void setAngleInfo(String path, String appPackage, String devOptIn, private static native void setAngleInfo(String path, String appPackage, String devOptIn, FileDescriptor rulesFd, long rulesOffset, long rulesLength); FileDescriptor rulesFd, long rulesOffset, long rulesLength); private static native boolean getShouldUseAngle(String packageName); private static native boolean getShouldUseAngle(String packageName); Loading core/jni/android_os_GraphicsEnvironment.cpp +6 −3 Original line number Original line Diff line number Diff line Loading @@ -34,13 +34,16 @@ void setDriverPath(JNIEnv* env, jobject clazz, jstring path) { void setGpuStats_native(JNIEnv* env, jobject clazz, jstring driverPackageName, void setGpuStats_native(JNIEnv* env, jobject clazz, jstring driverPackageName, jstring driverVersionName, jlong driverVersionCode, jstring driverVersionName, jlong driverVersionCode, jstring appPackageName) { jstring driverBuildDate, jstring appPackageName) { ScopedUtfChars driverPackageNameChars(env, driverPackageName); ScopedUtfChars driverPackageNameChars(env, driverPackageName); ScopedUtfChars driverVersionNameChars(env, driverVersionName); ScopedUtfChars driverVersionNameChars(env, driverVersionName); ScopedUtfChars driverBuildDateChars(env, driverBuildDate); ScopedUtfChars appPackageNameChars(env, appPackageName); ScopedUtfChars appPackageNameChars(env, appPackageName); android::GraphicsEnv::getInstance().setGpuStats(driverPackageNameChars.c_str(), android::GraphicsEnv::getInstance().setGpuStats(driverPackageNameChars.c_str(), driverVersionNameChars.c_str(), driverVersionNameChars.c_str(), driverVersionCode, appPackageNameChars.c_str()); driverVersionCode, driverBuildDateChars.c_str(), appPackageNameChars.c_str()); } } void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, jstring devOptIn, void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, jstring devOptIn, Loading Loading @@ -84,7 +87,7 @@ void setDebugLayersGLES_native(JNIEnv* env, jobject clazz, jstring layers) { const JNINativeMethod g_methods[] = { const JNINativeMethod g_methods[] = { { "getCanLoadSystemLibraries", "()I", reinterpret_cast<void*>(getCanLoadSystemLibraries_native) }, { "getCanLoadSystemLibraries", "()I", reinterpret_cast<void*>(getCanLoadSystemLibraries_native) }, { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) }, { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) }, { "setGpuStats", "(Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V", reinterpret_cast<void*>(setGpuStats_native) }, { "setGpuStats", "(Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)V", reinterpret_cast<void*>(setGpuStats_native) }, { "setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileDescriptor;JJ)V", reinterpret_cast<void*>(setAngleInfo_native) }, { "setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileDescriptor;JJ)V", reinterpret_cast<void*>(setAngleInfo_native) }, { "getShouldUseAngle", "(Ljava/lang/String;)Z", reinterpret_cast<void*>(shouldUseAngle_native) }, { "getShouldUseAngle", "(Ljava/lang/String;)Z", reinterpret_cast<void*>(shouldUseAngle_native) }, { "setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native) }, { "setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native) }, Loading Loading
core/java/android/os/GraphicsEnvironment.java +12 −7 Original line number Original line Diff line number Diff line Loading @@ -61,6 +61,7 @@ public class GraphicsEnvironment { private static final String SYSTEM_DRIVER_VERSION_NAME = ""; private static final String SYSTEM_DRIVER_VERSION_NAME = ""; private static final long SYSTEM_DRIVER_VERSION_CODE = 0; private static final long SYSTEM_DRIVER_VERSION_CODE = 0; private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0"; private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0"; private static final String PROPERTY_GFX_DRIVER_BUILD_DATE = "ro.gfx.driver.build_date"; private static final String ANGLE_RULES_FILE = "a4a_rules.json"; private static final String ANGLE_RULES_FILE = "a4a_rules.json"; private static final String ANGLE_TEMP_RULES = "debug.angle.rules"; private static final String ANGLE_TEMP_RULES = "debug.angle.rules"; private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID"; private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID"; Loading @@ -79,8 +80,9 @@ public class GraphicsEnvironment { setupGpuLayers(context, coreSettings, pm, packageName); setupGpuLayers(context, coreSettings, pm, packageName); setupAngle(context, coreSettings, pm, packageName); setupAngle(context, coreSettings, pm, packageName); if (!chooseDriver(context, coreSettings, pm, packageName)) { if (!chooseDriver(context, coreSettings, pm, packageName)) { final String driverBuildDate = SystemProperties.get(PROPERTY_GFX_DRIVER_BUILD_DATE); setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, packageName); driverBuildDate == null ? "" : driverBuildDate, packageName); } } } } Loading Loading @@ -574,8 +576,8 @@ public class GraphicsEnvironment { final PackageInfo driverPackageInfo; final PackageInfo driverPackageInfo; try { try { driverPackageInfo = driverPackageInfo = pm.getPackageInfo(driverPackageName, pm.getPackageInfo(driverPackageName, PackageManager.MATCH_SYSTEM_ONLY); PackageManager.MATCH_SYSTEM_ONLY | PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "driver package '" + driverPackageName + "' not installed"); Log.w(TAG, "driver package '" + driverPackageName + "' not installed"); return false; return false; Loading Loading @@ -655,9 +657,6 @@ public class GraphicsEnvironment { return false; return false; } } setGpuStats(driverPackageName, driverPackageInfo.versionName, driverAppInfo.longVersionCode, packageName); final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder(); sb.append(driverAppInfo.nativeLibraryDir) sb.append(driverAppInfo.nativeLibraryDir) .append(File.pathSeparator); .append(File.pathSeparator); Loading @@ -669,6 +668,12 @@ public class GraphicsEnvironment { if (DEBUG) Log.v(TAG, "gfx driver package libs: " + paths); if (DEBUG) Log.v(TAG, "gfx driver package libs: " + paths); setDriverPath(paths); setDriverPath(paths); final String driverBuildDate = driverAppInfo.metaData == null ? "" : driverAppInfo.metaData.getString("driver_build_date"); setGpuStats(driverPackageName, driverPackageInfo.versionName, driverAppInfo.longVersionCode, driverBuildDate == null ? "" : driverBuildDate, packageName); return true; return true; } } Loading Loading @@ -710,7 +715,7 @@ public class GraphicsEnvironment { private static native void setDebugLayersGLES(String layers); private static native void setDebugLayersGLES(String layers); private static native void setDriverPath(String path); private static native void setDriverPath(String path); private static native void setGpuStats(String driverPackageName, String driverVersionName, private static native void setGpuStats(String driverPackageName, String driverVersionName, long driverVersionCode, String appPackageName); long driverVersionCode, String driverBuildDate, String appPackageName); private static native void setAngleInfo(String path, String appPackage, String devOptIn, private static native void setAngleInfo(String path, String appPackage, String devOptIn, FileDescriptor rulesFd, long rulesOffset, long rulesLength); FileDescriptor rulesFd, long rulesOffset, long rulesLength); private static native boolean getShouldUseAngle(String packageName); private static native boolean getShouldUseAngle(String packageName); Loading
core/jni/android_os_GraphicsEnvironment.cpp +6 −3 Original line number Original line Diff line number Diff line Loading @@ -34,13 +34,16 @@ void setDriverPath(JNIEnv* env, jobject clazz, jstring path) { void setGpuStats_native(JNIEnv* env, jobject clazz, jstring driverPackageName, void setGpuStats_native(JNIEnv* env, jobject clazz, jstring driverPackageName, jstring driverVersionName, jlong driverVersionCode, jstring driverVersionName, jlong driverVersionCode, jstring appPackageName) { jstring driverBuildDate, jstring appPackageName) { ScopedUtfChars driverPackageNameChars(env, driverPackageName); ScopedUtfChars driverPackageNameChars(env, driverPackageName); ScopedUtfChars driverVersionNameChars(env, driverVersionName); ScopedUtfChars driverVersionNameChars(env, driverVersionName); ScopedUtfChars driverBuildDateChars(env, driverBuildDate); ScopedUtfChars appPackageNameChars(env, appPackageName); ScopedUtfChars appPackageNameChars(env, appPackageName); android::GraphicsEnv::getInstance().setGpuStats(driverPackageNameChars.c_str(), android::GraphicsEnv::getInstance().setGpuStats(driverPackageNameChars.c_str(), driverVersionNameChars.c_str(), driverVersionNameChars.c_str(), driverVersionCode, appPackageNameChars.c_str()); driverVersionCode, driverBuildDateChars.c_str(), appPackageNameChars.c_str()); } } void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, jstring devOptIn, void setAngleInfo_native(JNIEnv* env, jobject clazz, jstring path, jstring appName, jstring devOptIn, Loading Loading @@ -84,7 +87,7 @@ void setDebugLayersGLES_native(JNIEnv* env, jobject clazz, jstring layers) { const JNINativeMethod g_methods[] = { const JNINativeMethod g_methods[] = { { "getCanLoadSystemLibraries", "()I", reinterpret_cast<void*>(getCanLoadSystemLibraries_native) }, { "getCanLoadSystemLibraries", "()I", reinterpret_cast<void*>(getCanLoadSystemLibraries_native) }, { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) }, { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) }, { "setGpuStats", "(Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V", reinterpret_cast<void*>(setGpuStats_native) }, { "setGpuStats", "(Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)V", reinterpret_cast<void*>(setGpuStats_native) }, { "setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileDescriptor;JJ)V", reinterpret_cast<void*>(setAngleInfo_native) }, { "setAngleInfo", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileDescriptor;JJ)V", reinterpret_cast<void*>(setAngleInfo_native) }, { "getShouldUseAngle", "(Ljava/lang/String;)Z", reinterpret_cast<void*>(shouldUseAngle_native) }, { "getShouldUseAngle", "(Ljava/lang/String;)Z", reinterpret_cast<void*>(shouldUseAngle_native) }, { "setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native) }, { "setLayerPaths", "(Ljava/lang/ClassLoader;Ljava/lang/String;)V", reinterpret_cast<void*>(setLayerPaths_native) }, Loading