diff --git a/core/jni/Android.mk b/core/jni/Android.mk index 2d54742b355dc..1e816ae47e16e 100644 --- a/core/jni/Android.mk +++ b/core/jni/Android.mk @@ -16,10 +16,6 @@ else LOCAL_CFLAGS += -DPACKED="" endif -ifeq ($(USE_OPENGL_RENDERER),true) - LOCAL_CFLAGS += -DUSE_OPENGL_RENDERER -endif - LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES LOCAL_SRC_FILES:= \ @@ -247,11 +243,8 @@ LOCAL_SHARED_LIBRARIES := \ libprocessgroup \ libnativebridge -ifeq ($(USE_OPENGL_RENDERER),true) - LOCAL_SHARED_LIBRARIES += libhwui -endif - LOCAL_SHARED_LIBRARIES += \ + libhwui \ libdl # we need to access the private Bionic header diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp index ceec0e35cad79..f506569af9b12 100755 --- a/core/jni/android/graphics/Bitmap.cpp +++ b/core/jni/android/graphics/Bitmap.cpp @@ -363,24 +363,20 @@ static jobject Bitmap_copy(JNIEnv* env, jobject, jlong srcHandle, static void Bitmap_destructor(JNIEnv* env, jobject, jlong bitmapHandle) { SkBitmap* bitmap = reinterpret_cast(bitmapHandle); -#ifdef USE_OPENGL_RENDERER if (android::uirenderer::ResourceCache::hasInstance()) { android::uirenderer::ResourceCache::getInstance().destructor(bitmap); - return; + } else { + delete bitmap; } -#endif // USE_OPENGL_RENDERER - delete bitmap; } static jboolean Bitmap_recycle(JNIEnv* env, jobject, jlong bitmapHandle) { SkBitmap* bitmap = reinterpret_cast(bitmapHandle); -#ifdef USE_OPENGL_RENDERER if (android::uirenderer::ResourceCache::hasInstance()) { bool result; result = android::uirenderer::ResourceCache::getInstance().recycle(bitmap); return result ? JNI_TRUE : JNI_FALSE; } -#endif // USE_OPENGL_RENDERER bitmap->setPixels(NULL, NULL); return JNI_TRUE; } diff --git a/core/jni/android/graphics/CanvasProperty.cpp b/core/jni/android/graphics/CanvasProperty.cpp index a69a45711500d..deb4971a8a01d 100644 --- a/core/jni/android/graphics/CanvasProperty.cpp +++ b/core/jni/android/graphics/CanvasProperty.cpp @@ -24,12 +24,6 @@ namespace android { -#ifdef USE_OPENGL_RENDERER -static const bool kUseOpenGLRenderer = true; -#else -static const bool kUseOpenGLRenderer = false; -#endif - using namespace uirenderer; static jlong createFloat(JNIEnv* env, jobject clazz, jfloat initialValue) { @@ -51,11 +45,8 @@ static JNINativeMethod gMethods[] = { }; int register_android_graphics_CanvasProperty(JNIEnv* env) { - if (kUseOpenGLRenderer) { - return RegisterMethodsOrDie(env, "android/graphics/CanvasProperty", gMethods, - NELEM(gMethods)); - } - return 0; + return RegisterMethodsOrDie(env, "android/graphics/CanvasProperty", gMethods, + NELEM(gMethods)); } }; // namespace android diff --git a/core/jni/android/graphics/NinePatch.cpp b/core/jni/android/graphics/NinePatch.cpp index d868f287efb7d..543323c057ed5 100644 --- a/core/jni/android/graphics/NinePatch.cpp +++ b/core/jni/android/graphics/NinePatch.cpp @@ -80,14 +80,12 @@ public: static void finalize(JNIEnv* env, jobject, jlong patchHandle) { int8_t* patch = reinterpret_cast(patchHandle); -#ifdef USE_OPENGL_RENDERER if (android::uirenderer::ResourceCache::hasInstance()) { Res_png_9patch* p = (Res_png_9patch*) patch; android::uirenderer::ResourceCache::getInstance().destructor(p); - return; + } else { + delete[] patch; } -#endif // USE_OPENGL_RENDERER - delete[] patch; } static void draw(JNIEnv* env, SkCanvas* canvas, SkRect& bounds, const SkBitmap* bitmap, diff --git a/core/jni/android/graphics/Path.cpp b/core/jni/android/graphics/Path.cpp index 1e4eb75480d39..831ce093c566b 100644 --- a/core/jni/android/graphics/Path.cpp +++ b/core/jni/android/graphics/Path.cpp @@ -38,13 +38,11 @@ public: static void finalizer(JNIEnv* env, jobject clazz, jlong objHandle) { SkPath* obj = reinterpret_cast(objHandle); -#ifdef USE_OPENGL_RENDERER if (android::uirenderer::ResourceCache::hasInstance()) { android::uirenderer::ResourceCache::getInstance().destructor(obj); - return; + } else { + delete obj; } -#endif - delete obj; } static jlong init1(JNIEnv* env, jobject clazz) { diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index ac30bda8c7369..084117c51d224 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -57,13 +57,6 @@ static struct { jmethodID set; } gRectClassInfo; -/** - * Note: DisplayListRenderer JNI layer is generated and compiled only on supported - * devices. This means all the logic must be compiled only when the - * preprocessor variable USE_OPENGL_RENDERER is defined. - */ -#ifdef USE_OPENGL_RENDERER - // ---------------------------------------------------------------------------- // Defines // ---------------------------------------------------------------------------- @@ -803,32 +796,20 @@ static void android_view_GLES20Canvas_drawLayer(JNIEnv* env, jobject clazz, renderer->drawLayer(layer, x, y); } -#endif // USE_OPENGL_RENDERER - -#ifdef USE_OPENGL_RENDERER -static const bool kUseOpenGLRenderer = true; -#else -static const bool kUseOpenGLRenderer = false; -#endif - // ---------------------------------------------------------------------------- // Common // ---------------------------------------------------------------------------- static jboolean android_view_GLES20Canvas_isAvailable(JNIEnv* env, jobject clazz) { - if (kUseOpenGLRenderer) { - char prop[PROPERTY_VALUE_MAX]; - if (property_get("ro.kernel.qemu", prop, NULL) == 0) { - // not in the emulator - return JNI_TRUE; - } - // In the emulator this property will be set to 1 when hardware GLES is - // enabled, 0 otherwise. On old emulator versions it will be undefined. - property_get("ro.kernel.qemu.gles", prop, "0"); - return atoi(prop) == 1 ? JNI_TRUE : JNI_FALSE; - } else { - return JNI_FALSE; + char prop[PROPERTY_VALUE_MAX]; + if (property_get("ro.kernel.qemu", prop, NULL) == 0) { + // not in the emulator + return JNI_TRUE; } + // In the emulator this property will be set to 1 when hardware GLES is + // enabled, 0 otherwise. On old emulator versions it will be undefined. + property_get("ro.kernel.qemu.gles", prop, "0"); + return atoi(prop) == 1 ? JNI_TRUE : JNI_FALSE; } // ---------------------------------------------------------------------------- @@ -837,10 +818,8 @@ static jboolean android_view_GLES20Canvas_isAvailable(JNIEnv* env, jobject clazz static void android_app_ActivityThread_dumpGraphics(JNIEnv* env, jobject clazz, jobject javaFileDescriptor) { - if (kUseOpenGLRenderer) { - int fd = jniGetFDFromFileDescriptor(env, javaFileDescriptor); - android::uirenderer::renderthread::RenderProxy::outputLogBuffer(fd); - } + int fd = jniGetFDFromFileDescriptor(env, javaFileDescriptor); + android::uirenderer::renderthread::RenderProxy::outputLogBuffer(fd); } // ---------------------------------------------------------------------------- @@ -851,9 +830,6 @@ const char* const kClassPathName = "android/view/GLES20Canvas"; static JNINativeMethod gMethods[] = { { "nIsAvailable", "()Z", (void*) android_view_GLES20Canvas_isAvailable }, - -#ifdef USE_OPENGL_RENDERER - { "nDestroyRenderer", "(J)V", (void*) android_view_GLES20Canvas_destroyRenderer }, { "nSetViewport", "(JII)V", (void*) android_view_GLES20Canvas_setViewport }, { "nSetHighContrastText","(JZ)V", (void*) android_view_GLES20Canvas_setHighContrastText }, @@ -939,8 +915,6 @@ static JNINativeMethod gMethods[] = { { "nGetMaximumTextureWidth", "()I", (void*) android_view_GLES20Canvas_getMaxTextureWidth }, { "nGetMaximumTextureHeight", "()I", (void*) android_view_GLES20Canvas_getMaxTextureHeight }, - -#endif }; static JNINativeMethod gActivityThreadMethods[] = { @@ -949,10 +923,8 @@ static JNINativeMethod gActivityThreadMethods[] = { }; int register_android_view_GLES20Canvas(JNIEnv* env) { - if (kUseOpenGLRenderer) { - jclass clazz = FindClassOrDie(env, "android/graphics/Rect"); - gRectClassInfo.set = GetMethodIDOrDie(env, clazz, "set", "(IIII)V"); - } + jclass clazz = FindClassOrDie(env, "android/graphics/Rect"); + gRectClassInfo.set = GetMethodIDOrDie(env, clazz, "set", "(IIII)V"); return RegisterMethodsOrDie(env, kClassPathName, gMethods, NELEM(gMethods)); } diff --git a/core/jni/android_view_HardwareLayer.cpp b/core/jni/android_view_HardwareLayer.cpp index cefb3da02ac6b..f5391270d4dac 100644 --- a/core/jni/android_view_HardwareLayer.cpp +++ b/core/jni/android_view_HardwareLayer.cpp @@ -41,8 +41,6 @@ namespace android { using namespace uirenderer; -#ifdef USE_OPENGL_RENDERER - static jboolean android_view_HardwareLayer_prepare(JNIEnv* env, jobject clazz, jlong layerUpdaterPtr, jint width, jint height, jboolean isOpaque) { DeferredLayerUpdater* layer = reinterpret_cast(layerUpdaterPtr); @@ -87,8 +85,6 @@ static jint android_view_HardwareLayer_getTexName(JNIEnv* env, jobject clazz, return layer->backingLayer()->getTexture(); } -#endif // USE_OPENGL_RENDERER - // ---------------------------------------------------------------------------- // JNI Glue // ---------------------------------------------------------------------------- @@ -96,8 +92,6 @@ static jint android_view_HardwareLayer_getTexName(JNIEnv* env, jobject clazz, const char* const kClassPathName = "android/view/HardwareLayer"; static JNINativeMethod gMethods[] = { -#ifdef USE_OPENGL_RENDERER - { "nPrepare", "(JIIZ)Z", (void*) android_view_HardwareLayer_prepare }, { "nSetLayerPaint", "(JJ)V", (void*) android_view_HardwareLayer_setLayerPaint }, { "nSetTransform", "(JJ)V", (void*) android_view_HardwareLayer_setTransform }, @@ -106,7 +100,6 @@ static JNINativeMethod gMethods[] = { { "nUpdateSurfaceTexture", "(J)V", (void*) android_view_HardwareLayer_updateSurfaceTexture }, { "nGetTexName", "(J)I", (void*) android_view_HardwareLayer_getTexName }, -#endif }; int register_android_view_HardwareLayer(JNIEnv* env) { diff --git a/core/jni/android_view_RenderNode.cpp b/core/jni/android_view_RenderNode.cpp index a1d3bc63c0ba8..2b5a961ab02e1 100644 --- a/core/jni/android_view_RenderNode.cpp +++ b/core/jni/android_view_RenderNode.cpp @@ -34,13 +34,6 @@ namespace android { using namespace uirenderer; -/** - * Note: OpenGLRenderer JNI layer is generated and compiled only on supported - * devices. This means all the logic must be compiled only when the - * preprocessor variable USE_OPENGL_RENDERER is defined. - */ -#ifdef USE_OPENGL_RENDERER - #define SET_AND_DIRTY(prop, val, dirtyFlag) \ (reinterpret_cast(renderNodePtr)->mutateStagingProperties().prop(val) \ ? (reinterpret_cast(renderNodePtr)->setPropertyFieldsDirty(dirtyFlag), true) \ @@ -469,8 +462,6 @@ static void android_view_RenderNode_endAllAnimators(JNIEnv* env, jobject clazz, renderNode->animators().endAllStagingAnimators(); } -#endif // USE_OPENGL_RENDERER - // ---------------------------------------------------------------------------- // JNI Glue // ---------------------------------------------------------------------------- @@ -478,7 +469,6 @@ static void android_view_RenderNode_endAllAnimators(JNIEnv* env, jobject clazz, const char* const kClassPathName = "android/view/RenderNode"; static JNINativeMethod gMethods[] = { -#ifdef USE_OPENGL_RENDERER { "nCreate", "(Ljava/lang/String;)J", (void*) android_view_RenderNode_create }, { "nDestroyRenderNode", "(J)V", (void*) android_view_RenderNode_destroyRenderNode }, { "nSetDisplayListData", "(JJ)V", (void*) android_view_RenderNode_setDisplayListData }, @@ -550,7 +540,6 @@ static JNINativeMethod gMethods[] = { { "nAddAnimator", "(JJ)V", (void*) android_view_RenderNode_addAnimator }, { "nEndAllAnimators", "(J)V", (void*) android_view_RenderNode_endAllAnimators }, -#endif }; int register_android_view_RenderNode(JNIEnv* env) { diff --git a/core/jni/android_view_RenderNodeAnimator.cpp b/core/jni/android_view_RenderNodeAnimator.cpp index 0978ebb1eccc5..4177ee2f7fe8e 100644 --- a/core/jni/android_view_RenderNodeAnimator.cpp +++ b/core/jni/android_view_RenderNodeAnimator.cpp @@ -37,8 +37,6 @@ static struct { jmethodID callOnFinished; } gRenderNodeAnimatorClassInfo; -#ifdef USE_OPENGL_RENDERER - static JNIEnv* getEnv(JavaVM* vm) { JNIEnv* env; if (vm->GetEnv(reinterpret_cast(&env), JNI_VERSION_1_6) != JNI_OK) { @@ -189,8 +187,6 @@ static void end(JNIEnv* env, jobject clazz, jlong animatorPtr) { animator->end(); } -#endif - // ---------------------------------------------------------------------------- // JNI Glue // ---------------------------------------------------------------------------- @@ -198,7 +194,6 @@ static void end(JNIEnv* env, jobject clazz, jlong animatorPtr) { const char* const kClassPathName = "android/view/RenderNodeAnimator"; static JNINativeMethod gMethods[] = { -#ifdef USE_OPENGL_RENDERER { "nCreateAnimator", "(IF)J", (void*) createAnimator }, { "nCreateCanvasPropertyFloatAnimator", "(JF)J", (void*) createCanvasPropertyFloatAnimator }, { "nCreateCanvasPropertyPaintAnimator", "(JIF)J", (void*) createCanvasPropertyPaintAnimator }, @@ -212,13 +207,10 @@ static JNINativeMethod gMethods[] = { { "nSetListener", "(JLandroid/view/RenderNodeAnimator;)V", (void*) setListener}, { "nStart", "(J)V", (void*) start}, { "nEnd", "(J)V", (void*) end }, -#endif }; int register_android_view_RenderNodeAnimator(JNIEnv* env) { -#ifdef USE_OPENGL_RENDERER sLifecycleChecker.incStrong(0); -#endif gRenderNodeAnimatorClassInfo.clazz = FindClassOrDie(env, kClassPathName); gRenderNodeAnimatorClassInfo.clazz = MakeGlobalRefOrDie(env, gRenderNodeAnimatorClassInfo.clazz); diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp index 9b062939466d0..068b24e641d04 100644 --- a/core/jni/android_view_ThreadedRenderer.cpp +++ b/core/jni/android_view_ThreadedRenderer.cpp @@ -44,8 +44,6 @@ namespace android { -#ifdef USE_OPENGL_RENDERER - using namespace android::uirenderer; using namespace android::uirenderer::renderthread; @@ -399,8 +397,6 @@ static void android_view_ThreadedRenderer_dumpProfileInfo(JNIEnv* env, jobject c proxy->dumpProfileInfo(fd); } -#endif - // ---------------------------------------------------------------------------- // Shaders // ---------------------------------------------------------------------------- @@ -420,7 +416,6 @@ static void android_view_ThreadedRenderer_setupShadersDiskCache(JNIEnv* env, job const char* const kClassPathName = "android/view/ThreadedRenderer"; static JNINativeMethod gMethods[] = { -#ifdef USE_OPENGL_RENDERER { "nSetAtlas", "(JLandroid/view/GraphicBuffer;[J)V", (void*) android_view_ThreadedRenderer_setAtlas }, { "nCreateRootRenderNode", "()J", (void*) android_view_ThreadedRenderer_createRootRenderNode }, { "nCreateProxy", "(ZJ)J", (void*) android_view_ThreadedRenderer_createProxy }, @@ -448,7 +443,6 @@ static JNINativeMethod gMethods[] = { { "nStopDrawing", "(J)V", (void*) android_view_ThreadedRenderer_stopDrawing }, { "nNotifyFramePending", "(J)V", (void*) android_view_ThreadedRenderer_notifyFramePending }, { "nDumpProfileInfo", "(JLjava/io/FileDescriptor;)V", (void*) android_view_ThreadedRenderer_dumpProfileInfo }, -#endif { "setupShadersDiskCache", "(Ljava/lang/String;)V", (void*) android_view_ThreadedRenderer_setupShadersDiskCache }, }; diff --git a/core/jni/com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp b/core/jni/com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp index c5c2e9d362a76..2c65d6210c2e6 100644 --- a/core/jni/com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp +++ b/core/jni/com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp @@ -26,8 +26,6 @@ namespace android { using namespace uirenderer; -#ifdef USE_OPENGL_RENDERER - static jlong createAccelerateDecelerateInterpolator(JNIEnv* env, jobject clazz) { return reinterpret_cast(new AccelerateDecelerateInterpolator()); } @@ -74,8 +72,6 @@ static jlong createLutInterpolator(JNIEnv* env, jobject clazz, jfloatArray jlut) return reinterpret_cast(new LUTInterpolator(lut, len)); } -#endif - // ---------------------------------------------------------------------------- // JNI Glue // ---------------------------------------------------------------------------- @@ -83,7 +79,6 @@ static jlong createLutInterpolator(JNIEnv* env, jobject clazz, jfloatArray jlut) const char* const kClassPathName = "com/android/internal/view/animation/NativeInterpolatorFactoryHelper"; static JNINativeMethod gMethods[] = { -#ifdef USE_OPENGL_RENDERER { "createAccelerateDecelerateInterpolator", "()J", (void*) createAccelerateDecelerateInterpolator }, { "createAccelerateInterpolator", "(F)J", (void*) createAccelerateInterpolator }, { "createAnticipateInterpolator", "(F)J", (void*) createAnticipateInterpolator }, @@ -94,7 +89,6 @@ static JNINativeMethod gMethods[] = { { "createLinearInterpolator", "()J", (void*) createLinearInterpolator }, { "createOvershootInterpolator", "(F)J", (void*) createOvershootInterpolator }, { "createLutInterpolator", "([F)J", (void*) createLutInterpolator }, -#endif }; int register_com_android_internal_view_animation_NativeInterpolatorFactoryHelper(JNIEnv* env) { diff --git a/libs/hwui/Android.common.mk b/libs/hwui/Android.common.mk index 70db03df2b1e5..536912a52970c 100644 --- a/libs/hwui/Android.common.mk +++ b/libs/hwui/Android.common.mk @@ -76,7 +76,7 @@ intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,TARGET,) LOCAL_C_INCLUDES += \ external/skia/src/core -LOCAL_CFLAGS += -DUSE_OPENGL_RENDERER -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES +LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES LOCAL_CFLAGS += -Wno-unused-parameter LOCAL_SHARED_LIBRARIES := liblog libcutils libutils libEGL libGLESv2 libskia libui libgui diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk index 1b73fbd8cbf66..aa8db265d8477 100644 --- a/libs/hwui/Android.mk +++ b/libs/hwui/Android.mk @@ -2,16 +2,12 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk -# Only build libhwui when USE_OPENGL_RENDERER is -# defined in the current device/board configuration -ifeq ($(USE_OPENGL_RENDERER),true) - LOCAL_MODULE_CLASS := SHARED_LIBRARIES - LOCAL_MODULE := libhwui - LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_MODULE := libhwui +LOCAL_MODULE_TAGS := optional - include $(LOCAL_PATH)/Android.common.mk +include $(LOCAL_PATH)/Android.common.mk - include $(BUILD_SHARED_LIBRARY) +include $(BUILD_SHARED_LIBRARY) - include $(call all-makefiles-under,$(LOCAL_PATH)) -endif +include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp index 674102b33cb8d..bb4ac83ea864d 100644 --- a/libs/hwui/Caches.cpp +++ b/libs/hwui/Caches.cpp @@ -29,10 +29,8 @@ namespace android { -#ifdef USE_OPENGL_RENDERER using namespace uirenderer; ANDROID_SINGLETON_STATIC_INSTANCE(Caches); -#endif namespace uirenderer { diff --git a/libs/hwui/DisplayListLogBuffer.cpp b/libs/hwui/DisplayListLogBuffer.cpp index bc9e7bd70609c..23b6cff8dd02e 100644 --- a/libs/hwui/DisplayListLogBuffer.cpp +++ b/libs/hwui/DisplayListLogBuffer.cpp @@ -47,10 +47,8 @@ namespace android { -#ifdef USE_OPENGL_RENDERER using namespace uirenderer; ANDROID_SINGLETON_STATIC_INSTANCE(DisplayListLogBuffer); -#endif namespace uirenderer { diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp index 31bd6376d5d7a..8a48a6e6c04c2 100644 --- a/libs/hwui/ResourceCache.cpp +++ b/libs/hwui/ResourceCache.cpp @@ -22,10 +22,8 @@ namespace android { -#ifdef USE_OPENGL_RENDERER using namespace uirenderer; ANDROID_SINGLETON_STATIC_INSTANCE(ResourceCache); -#endif namespace uirenderer {