Loading core/java/android/view/GLES20Canvas.java +6 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,12 @@ class GLES20Canvas extends HardwareCanvas { private static native void nSetName(int renderer, String name); public static void setProperty(String name, String value) { nSetProperty(name, value); } private static native void nSetProperty(String name, String value); /////////////////////////////////////////////////////////////////////////// // Hardware layers /////////////////////////////////////////////////////////////////////////// Loading core/jni/android_view_GLES20Canvas.cpp +20 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,24 @@ static void android_view_GLES20Canvas_setName(JNIEnv* env, } } static void android_view_GLES20Canvas_setProperty(JNIEnv* env, jobject clazz, jstring name, jstring value) { if (!Caches::hasInstance()) { ALOGW("can't set property, no Caches instance"); return; } if (name == NULL || value == NULL) { ALOGW("can't set prop, null passed"); } const char* nameCharArray = env->GetStringUTFChars(name, NULL); const char* valueCharArray = env->GetStringUTFChars(value, NULL); Caches::getInstance().setTempProperty(nameCharArray, valueCharArray); env->ReleaseStringUTFChars(name, nameCharArray); env->ReleaseStringUTFChars(name, valueCharArray); } static void android_view_GLES20Canvas_setCountOverdrawEnabled(JNIEnv* env, jobject clazz, OpenGLRenderer* renderer, jboolean enabled) { renderer->setCountOverdrawEnabled(enabled); Loading Loading @@ -1011,6 +1029,8 @@ static JNINativeMethod gMethods[] = { { "nFinish", "(I)V", (void*) android_view_GLES20Canvas_finish }, { "nSetName", "(ILjava/lang/String;)V", (void*) android_view_GLES20Canvas_setName }, { "nSetProperty", "(Ljava/lang/String;Ljava/lang/String;)V", (void*) android_view_GLES20Canvas_setProperty }, { "nSetCountOverdrawEnabled", "(IZ)V", (void*) android_view_GLES20Canvas_setCountOverdrawEnabled }, { "nGetOverdraw", "(I)F", (void*) android_view_GLES20Canvas_getOverdraw }, Loading libs/hwui/Caches.cpp +32 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ Caches::Caches(): Singleton<Caches>(), initProperties(); initStaticProperties(); initExtensions(); initTempProperties(); mDebugLevel = readDebugLevel(); ALOGD("Enabling debug mode %d", mDebugLevel); Loading Loading @@ -676,5 +677,36 @@ TextureVertex* Caches::getRegionMesh() { return mRegionMesh; } /////////////////////////////////////////////////////////////////////////////// // Temporary Properties /////////////////////////////////////////////////////////////////////////////// void Caches::initTempProperties() { propertyDirtyViewport = false; propertyEnable3d = false; propertyCameraDistance = 1.0f; propertyShadowStrength = 0x3f; } void Caches::setTempProperty(const char* name, const char* value) { ALOGD("setting property %s to %s", name, value); if (!strcmp(name, "enable3d")) { propertyEnable3d = !strcmp(value, "true"); propertyDirtyViewport = true; ALOGD("enable3d = %d", propertyEnable3d); return; } else if (!strcmp(name, "cameraDistance")) { propertyCameraDistance = fmin(fmax(atof(value), 0.001), 10); propertyDirtyViewport = true; ALOGD("camera dist multiplier = %.2f", propertyCameraDistance); return; } else if (!strcmp(name, "shadowStrength")) { propertyShadowStrength = atoi(value); ALOGD("shadow strength = 0x%x out of 0xff", propertyShadowStrength); return; } ALOGD(" failed"); } }; // namespace uirenderer }; // namespace android libs/hwui/Caches.h +8 −0 Original line number Diff line number Diff line Loading @@ -353,6 +353,14 @@ public: PFNGLLABELOBJECTEXTPROC setLabel; PFNGLGETOBJECTLABELEXTPROC getLabel; // TEMPORARY properties void initTempProperties(); void setTempProperty(const char* name, const char* value); bool propertyEnable3d; bool propertyDirtyViewport; // flag set when dirtying the viewport float propertyCameraDistance; int propertyShadowStrength; private: enum OverdrawColorSet { kColorSet_Default = 0, Loading libs/hwui/Debug.h +0 −3 Original line number Diff line number Diff line Loading @@ -85,9 +85,6 @@ // Turn on to highlight drawing batches and merged batches with different colors #define DEBUG_MERGE_BEHAVIOR 0 // Turn on to enable 3D support in the renderer (off by default until API for control exists) #define DEBUG_ENABLE_3D 0 // Turn on to enable debugging shadow #define DEBUG_SHADOW 0 Loading Loading
core/java/android/view/GLES20Canvas.java +6 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,12 @@ class GLES20Canvas extends HardwareCanvas { private static native void nSetName(int renderer, String name); public static void setProperty(String name, String value) { nSetProperty(name, value); } private static native void nSetProperty(String name, String value); /////////////////////////////////////////////////////////////////////////// // Hardware layers /////////////////////////////////////////////////////////////////////////// Loading
core/jni/android_view_GLES20Canvas.cpp +20 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,24 @@ static void android_view_GLES20Canvas_setName(JNIEnv* env, } } static void android_view_GLES20Canvas_setProperty(JNIEnv* env, jobject clazz, jstring name, jstring value) { if (!Caches::hasInstance()) { ALOGW("can't set property, no Caches instance"); return; } if (name == NULL || value == NULL) { ALOGW("can't set prop, null passed"); } const char* nameCharArray = env->GetStringUTFChars(name, NULL); const char* valueCharArray = env->GetStringUTFChars(value, NULL); Caches::getInstance().setTempProperty(nameCharArray, valueCharArray); env->ReleaseStringUTFChars(name, nameCharArray); env->ReleaseStringUTFChars(name, valueCharArray); } static void android_view_GLES20Canvas_setCountOverdrawEnabled(JNIEnv* env, jobject clazz, OpenGLRenderer* renderer, jboolean enabled) { renderer->setCountOverdrawEnabled(enabled); Loading Loading @@ -1011,6 +1029,8 @@ static JNINativeMethod gMethods[] = { { "nFinish", "(I)V", (void*) android_view_GLES20Canvas_finish }, { "nSetName", "(ILjava/lang/String;)V", (void*) android_view_GLES20Canvas_setName }, { "nSetProperty", "(Ljava/lang/String;Ljava/lang/String;)V", (void*) android_view_GLES20Canvas_setProperty }, { "nSetCountOverdrawEnabled", "(IZ)V", (void*) android_view_GLES20Canvas_setCountOverdrawEnabled }, { "nGetOverdraw", "(I)F", (void*) android_view_GLES20Canvas_getOverdraw }, Loading
libs/hwui/Caches.cpp +32 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ Caches::Caches(): Singleton<Caches>(), initProperties(); initStaticProperties(); initExtensions(); initTempProperties(); mDebugLevel = readDebugLevel(); ALOGD("Enabling debug mode %d", mDebugLevel); Loading Loading @@ -676,5 +677,36 @@ TextureVertex* Caches::getRegionMesh() { return mRegionMesh; } /////////////////////////////////////////////////////////////////////////////// // Temporary Properties /////////////////////////////////////////////////////////////////////////////// void Caches::initTempProperties() { propertyDirtyViewport = false; propertyEnable3d = false; propertyCameraDistance = 1.0f; propertyShadowStrength = 0x3f; } void Caches::setTempProperty(const char* name, const char* value) { ALOGD("setting property %s to %s", name, value); if (!strcmp(name, "enable3d")) { propertyEnable3d = !strcmp(value, "true"); propertyDirtyViewport = true; ALOGD("enable3d = %d", propertyEnable3d); return; } else if (!strcmp(name, "cameraDistance")) { propertyCameraDistance = fmin(fmax(atof(value), 0.001), 10); propertyDirtyViewport = true; ALOGD("camera dist multiplier = %.2f", propertyCameraDistance); return; } else if (!strcmp(name, "shadowStrength")) { propertyShadowStrength = atoi(value); ALOGD("shadow strength = 0x%x out of 0xff", propertyShadowStrength); return; } ALOGD(" failed"); } }; // namespace uirenderer }; // namespace android
libs/hwui/Caches.h +8 −0 Original line number Diff line number Diff line Loading @@ -353,6 +353,14 @@ public: PFNGLLABELOBJECTEXTPROC setLabel; PFNGLGETOBJECTLABELEXTPROC getLabel; // TEMPORARY properties void initTempProperties(); void setTempProperty(const char* name, const char* value); bool propertyEnable3d; bool propertyDirtyViewport; // flag set when dirtying the viewport float propertyCameraDistance; int propertyShadowStrength; private: enum OverdrawColorSet { kColorSet_Default = 0, Loading
libs/hwui/Debug.h +0 −3 Original line number Diff line number Diff line Loading @@ -85,9 +85,6 @@ // Turn on to highlight drawing batches and merged batches with different colors #define DEBUG_MERGE_BEHAVIOR 0 // Turn on to enable 3D support in the renderer (off by default until API for control exists) #define DEBUG_ENABLE_3D 0 // Turn on to enable debugging shadow #define DEBUG_SHADOW 0 Loading