diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index a9002945ff91c..ccadc7d7c22a8 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -212,6 +212,10 @@ static jlong nativeLockCanvas(JNIEnv* env, jclass clazz, return 0; } + if (convertPixelFormat(ANativeWindow_getFormat(surface.get())) == kUnknown_SkColorType) { + native_window_set_buffers_format(surface.get(), PIXEL_FORMAT_RGBA_8888); + } + Rect dirtyRect(Rect::EMPTY_RECT); Rect* dirtyRectPtr = NULL;