From: Mathias Agopian Date: Fri, 24 Feb 2012 22:58:36 +0000 (-0800) Subject: deprecate L_8, LA_88 and RGB_332 in sdk X-Git-Tag: android-x86-4.4-r1~1336^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ff615cc7a1cceedd705b0623b058c54669b29596;p=android-x86%2Fframeworks-native.git deprecate L_8, LA_88 and RGB_332 in sdk re-add support for pixelformats L_8, LA_88 and RGB_332 in libui for backward compatibility. This may or may not fix 6058926 Bug: 6049685 Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53 --- diff --git a/include/ui/PixelFormat.h b/include/ui/PixelFormat.h index fc260c4f4b..9f3e267139 100644 --- a/include/ui/PixelFormat.h +++ b/include/ui/PixelFormat.h @@ -64,9 +64,6 @@ enum { PIXEL_FORMAT_RGBA_5551 = HAL_PIXEL_FORMAT_RGBA_5551, // 16-bit ARGB PIXEL_FORMAT_RGBA_4444 = HAL_PIXEL_FORMAT_RGBA_4444, // 16-bit ARGB PIXEL_FORMAT_A_8 = 8, // 8-bit A - - // New formats can be added if they're also defined in - // pixelflinger/format.h }; typedef int32_t PixelFormat; @@ -80,10 +77,12 @@ struct PixelFormatInfo { }; enum { // components - ALPHA = 1, - RGB = 2, - RGBA = 3, - OTHER = 0xFF + ALPHA = 1, + RGB = 2, + RGBA = 3, + L = 4, + LA = 5, + OTHER = 0xFF }; struct szinfo { diff --git a/libs/ui/PixelFormat.cpp b/libs/ui/PixelFormat.cpp index 6993dac699..fc1d3c29db 100644 --- a/libs/ui/PixelFormat.cpp +++ b/libs/ui/PixelFormat.cpp @@ -48,7 +48,10 @@ static Info const sPixelFormatInfos[] = { { 4, 32, {32,24, 24,16, 16, 8, 8, 0 }, PixelFormatInfo::RGBA }, { 2, 16, { 1, 0, 16,11, 11, 6, 6, 1 }, PixelFormatInfo::RGBA }, { 2, 16, { 4, 0, 16,12, 12, 8, 8, 4 }, PixelFormatInfo::RGBA }, - { 1, 8, { 8, 0, 0, 0, 0, 0, 0, 0 }, PixelFormatInfo::ALPHA} + { 1, 8, { 8, 0, 0, 0, 0, 0, 0, 0 }, PixelFormatInfo::ALPHA}, + { 1, 8, { 0, 0, 8, 0, 8, 0, 8, 0 }, PixelFormatInfo::L }, + { 2, 16, {16, 8, 8, 0, 8, 0, 8, 0 }, PixelFormatInfo::LA }, + { 1, 8, { 0, 0, 8, 5, 5, 2, 2, 0 }, PixelFormatInfo::RGB }, }; static const Info* gGetPixelFormatTable(size_t* numEntries) { diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 4ee695398f..efcdd87642 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -160,7 +160,10 @@ status_t Layer::setBuffers( uint32_t w, uint32_t h, // this surfaces pixel format PixelFormatInfo info; status_t err = getPixelFormatInfo(format, &info); - if (err) return err; + if (err) { + ALOGE("unsupported pixelformat %d", format); + return err; + } // the display's pixel format const DisplayHardware& hw(graphicPlane(0).displayHardware()); @@ -170,6 +173,7 @@ status_t Layer::setBuffers( uint32_t w, uint32_t h, // never allow a surface larger than what our underlying GL implementation // can handle. if ((uint32_t(w)>maxSurfaceDims) || (uint32_t(h)>maxSurfaceDims)) { + ALOGE("dimensions too large %u x %u", uint32_t(w), uint32_t(h)); return BAD_VALUE; } diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 9d821dc472..05b5bf5d54 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -1285,7 +1285,7 @@ sp SurfaceFlinger::createSurface( return surfaceHandle; } - //ALOGD("createSurface for pid %d (%d x %d)", pid, w, h); + //ALOGD("createSurface for (%d x %d), name=%s", w, h, name.string()); sp normalLayer; switch (flags & eFXSurfaceMask) { case eFXSurfaceNormal: