Merge "Stop pretending USE_OPENGL_RENDERER is a thing"
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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<SkBitmap*>(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<SkBitmap*>(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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -80,14 +80,12 @@ public:
|
||||
|
||||
static void finalize(JNIEnv* env, jobject, jlong patchHandle) {
|
||||
int8_t* patch = reinterpret_cast<int8_t*>(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,
|
||||
|
||||
@@ -38,13 +38,11 @@ public:
|
||||
|
||||
static void finalizer(JNIEnv* env, jobject clazz, jlong objHandle) {
|
||||
SkPath* obj = reinterpret_cast<SkPath*>(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) {
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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<DeferredLayerUpdater*>(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) {
|
||||
|
||||
@@ -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<RenderNode*>(renderNodePtr)->mutateStagingProperties().prop(val) \
|
||||
? (reinterpret_cast<RenderNode*>(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) {
|
||||
|
||||
@@ -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<void**>(&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);
|
||||
|
||||
@@ -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 },
|
||||
};
|
||||
|
||||
@@ -26,8 +26,6 @@ namespace android {
|
||||
|
||||
using namespace uirenderer;
|
||||
|
||||
#ifdef USE_OPENGL_RENDERER
|
||||
|
||||
static jlong createAccelerateDecelerateInterpolator(JNIEnv* env, jobject clazz) {
|
||||
return reinterpret_cast<jlong>(new AccelerateDecelerateInterpolator());
|
||||
}
|
||||
@@ -74,8 +72,6 @@ static jlong createLutInterpolator(JNIEnv* env, jobject clazz, jfloatArray jlut)
|
||||
return reinterpret_cast<jlong>(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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -29,10 +29,8 @@
|
||||
|
||||
namespace android {
|
||||
|
||||
#ifdef USE_OPENGL_RENDERER
|
||||
using namespace uirenderer;
|
||||
ANDROID_SINGLETON_STATIC_INSTANCE(Caches);
|
||||
#endif
|
||||
|
||||
namespace uirenderer {
|
||||
|
||||
|
||||
@@ -47,10 +47,8 @@
|
||||
|
||||
namespace android {
|
||||
|
||||
#ifdef USE_OPENGL_RENDERER
|
||||
using namespace uirenderer;
|
||||
ANDROID_SINGLETON_STATIC_INSTANCE(DisplayListLogBuffer);
|
||||
#endif
|
||||
|
||||
namespace uirenderer {
|
||||
|
||||
|
||||
@@ -22,10 +22,8 @@
|
||||
|
||||
namespace android {
|
||||
|
||||
#ifdef USE_OPENGL_RENDERER
|
||||
using namespace uirenderer;
|
||||
ANDROID_SINGLETON_STATIC_INSTANCE(ResourceCache);
|
||||
#endif
|
||||
|
||||
namespace uirenderer {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user